Pythonの文字列の等しい
Pythonの文字列の等価性は、==演算子または__eq__()関数を使用して確認することができます。Pythonの文字列は大文字と小文字を区別するため、これらの等価性の比較方法も大文字と小文字を区別します。
Pythonの文字列が等しいかどうか
いくつかの例を見て、2つの文字列が等しいかどうかを確認しましょう。
s1 = 'Apple'
s2 = 'Apple'
s3 = 'apple'
# case sensitive equals check
if s1 == s2:
print('s1 and s2 are equal.')
if s1.__eq__(s2):
print('s1 and s2 are equal.')
出力する:
s1 and s2 are equal.
s1 and s2 are equal.
不等号のチェックを行いたい場合は、!=演算子を使用することができます。
if s1 != s3:
print('s1 and s3 are not equal')
出力:s1とs3は等しくありません。
Pythonの文字列は大文字小文字を区別しないチェック
時には、2つの文字列が等しいかどうかを確認する際に、大文字小文字の区別を気にしない場合もあります。この場合、casefold()、lower()、またはupper()関数を使用して大文字小文字を無視した等価性チェックを行うことができます。
if s1.casefold() == s3.casefold():
print(s1.casefold())
print(s3.casefold())
print('s1 and s3 are equal in case-insensitive comparison')
if s1.lower() == s3.lower():
print(s1.lower())
print(s3.lower())
print('s1 and s3 are equal in case-insensitive comparison')
if s1.upper() == s3.upper():
print(s1.upper())
print(s3.upper())
print('s1 and s3 are equal in case-insensitive comparison')
出力:
apple
apple
s1 and s3 are equal in case-insensitive comparison
apple
apple
s1 and s3 are equal in case-insensitive comparison
APPLE
APPLE
s1 and s3 are equal in case-insensitive comparison
特殊文字を含むPythonの文字列の等価判定
特殊文字が含まれる文字列の例を見てみましょう。
s1 = '$#ç∂'
s2 = '$#ç∂'
print('s1 == s2?', s1 == s2)
print('s1 != s2?', s1 != s2)
print('s1.lower() == s2.lower()?', s1.lower() == s2.lower())
print('s1.upper() == s2.upper()?', s1.upper() == s2.upper())
print('s1.casefold() == s2.casefold()?', s1.casefold() == s2.casefold())
出力:
s1 == s2? True
s1 != s2? False
s1.lower() == s2.lower()? True
s1.upper() == s2.upper()? True
s1.casefold() == s2.casefold()? True
Pythonで、2つの文字列が等しいかどうかを確認するには以上です。
弊社のGitHubリポジトリから、完全なスクリプトとさらにPythonの文字列の例をチェックアウトすることができます。