Pythonでは、==演算子を使用して文字列の一致を確認できる。
完全一致のほかに、前方一致や含んでいるか確認する例も記載しておく。
完全に一致しているか
文字列が一致しているかどうかを確認するためには、比較演算子を使用する。
コード
string1 = "apple"
string2 = "apple"
if string1 == string2:
print("文字列は一致しています")
else:
print("文字列は一致していません")この場合、string1とstring2はともに “apple" という文字列を持っているため、==演算子によって一致していることが確認できる。もし文字列が一致しない場合、elseブロックが実行される。
なお、Pythonは文字列の比較は大文字と小文字を区別する。例えば、"Apple" と "apple" は異なる文字列と見なされる。
文字列の始まりや終わりが一致しているか
str.startswith()とstr.endswith()のPythonの組み込みの文字列メソッドが使える。
指定された接頭辞(prefix)または接尾辞(suffix)で始まるか終わるかを確認するためのメソッドである。
str.startswith(prefix[, start[, end]])
str.startswith()メソッドは、文字列が指定された接頭辞で始まるかどうかを確認してくれる。
引数として接頭辞を取り、真偽値を返す。
コード
string = "apple"
result = string.startswith("app")
print(result) # Trueまたオプションの start および end 引数を使用して、特定の範囲内での接頭辞の確認も行える。
str.endswith(suffix[, start[, end]])
str.endswith()メソッドは、文字列が指定された接尾辞で終わるかどうかを確認してくれる。
引数として接尾辞を取り、真偽値を返す。
コード
string = "apple"
result = string.endswith("ple")
print(result) # True同様に、オプションの start および end 引数を使用して、特定の範囲内での接尾辞の確認も行える。
これらのメソッドは文字列の前方や後方が特定のパターンで始まるか終わるかを簡単に確認するのに便利で、条件分岐やフィルタリングなどの場面でよく使用される。
文字列が含まれているか
in キーワードが使える。
これはPythonにおいて特定の要素がコレクション(リスト、タプル、文字列など)内に存在するかどうかを確認するために使用される。inを使用すると、要素がコレクション内に存在する場合に True を返し、存在しない場合には False を返す。
コード
my_string = "Hello, World!"
if "Hello" in my_string:
print("Helloは文字列内に存在します")
else:
print("Helloは文字列内に存在しません")この場合はTrueになる。in キーワードはシンプルで使いやすいため、条件分岐や検索などの際に頻繁に利用される。
大文字と小文字を区別しない
正規表現などの方法もあるが、簡単にやりたければ文字列を小文字または大文字に変換してから比較する方法がある。例えば、lower() メソッドを使用すれば簡単に小文字に統一できる。
コード
string1 = "apple"
string2 = "Apple"
if string1.lower() == string2.lower():
print("文字列は一致しています")
else:
print("文字列は一致していません")この場合、小文字に統一した状態で比較するのでTrueになる。