今回は、Pythonのある文字列が別の文字列を含んでいるかどうかを調べる方法を紹介します。
どうすれば簡単にできるのでしょうか?Pythonには組み込みの文字列メソッドString. _contains ____() があり、これを使うと簡単にできます。
このメソッドの使い方を見てみましょう。
String._contains_JP() のシンタックスです。
この関数は 2 つの文字列を受け取り、ある文字列が別の文字列に属するかどうかを返します。
このメソッドの戻り値の型はブーリアンなので、TrueかFalseのどちらかを返します。
このメソッドの呼び出し方は、文字列オブジェクトに対して使用し、その文字列オブジェクトの中に別の文字列があるかどうかをチェックします。
ret = str_object.contains(another_string)
|
これは str_object
が another_string
という文字列を含んでいるかどうかを調べます。
返り値は ret
に格納されます。
それでは、この点を説明するために、いくつかの例を見てみましょう。
Using String._contains_data()
Pythonの文字列が他の文字列を含むかどうかを調べます。
my_str = "Hello from Python"
target = "Python"
if (my_str.__contains__(target)):
print ( "String contains target!" )
else :
print ( "String does not contain target" )
|
結果は以下の通りです。
String contains target |
Python” は元の文字列 “Hello from Python” の部分文字列なので、戻り値は True
となります。
このメソッドは大文字と小文字を区別するので、”askpython” という文字列にはマッチしません。
my_str = "Hello from Python"
target = "askpython"
if (my_str.__contains__(target)):
print ( "String contains target!" )
else :
print ( "String does not contain target" )
|
結果は以下の通りです。
String does not contain target |
Python String contains() をクラスメソッドとして利用する
このメソッドは str
クラスのクラスメソッドとして使うこともでき、1つの引数の代わりに2つの引数を使うことができます。
ret = str .__contains__(str1, str2)
|
これは先ほどの使い方と似ていますが、Stringクラスのクラスメソッドとして呼び出しています。
これは str1
が str2
を含んでいれば True
を返し、そうでなければ False
を返す。
>>> print ( str .__contains__( "Hello from Python" , "Python" )
True |
まとめ
今回は、Pythonの文字列が他の文字列を含むかどうかをチェックするために、String. _contains ____() メソッドを使用する方法について学びました。