1. ホーム
  2. python

[解決済み] 大文字と小文字を区別しない文字列比較を行うにはどうすればよいですか?

2022-03-15 06:31:49

質問

Pythonで大文字小文字を区別しない文字列比較を行うには?

私は、非常にシンプルでPythonicな方法を使用して、通常の文字列とリポジトリの文字列の比較をカプセル化したいと思います。私はまた、Pythonの通常の文字列を使用して文字列によってハッシュ化されたディクト内の値を検索する機能を持つようにしたいと思います。

どのように解決するのですか?

ASCII文字列を想定しています。

string1 = 'Hello'
string2 = 'hello'

if string1.lower() == string2.lower():
    print("The strings are the same (case insensitive)")
else:
    print("The strings are NOT the same (case insensitive)")

Python 3.3時点。 casefold() はより良い代替案です。

string1 = 'Hello'
string2 = 'hello'

if string1.casefold() == string2.casefold():
    print("The strings are the same (case insensitive)")
else:
    print("The strings are NOT the same (case insensitive)")

より複雑なユニコード比較を扱う、より包括的なソリューションをお望みなら、他の回答をご覧ください。