HOWTO · Python

文字列に Python で単語が含まれているかどうかを確認する

if / in ステートメントを使用して、指定した単語が Python で文字列変数内にあるかどうかを確認できます。

このチュートリアルでは、指定された単語が Python で文字列変数内にあるかどうかを確認する方法を紹介します。

Python の if/in ステートメントで文字列に単語が含まれているかどうかを確認する

特定の文字列に指定された単語が含まれているかどうかを確認する場合は、Python で if/in ステートメントを使用できます。if/in ステートメントは、単語が文字列に存在する場合は True を返し、単語が文字列に存在しない場合は False を返します。

次のプログラムスニペットは、if/in ステートメントを使用して、文字列に単語が含まれているかどうかを判断する方法を示しています。

string = "This contains a word"
if "word" in string:
    print("Found")
else:
    print("Not Found")

出力:

Found

上記のプログラムの if/in ステートメントを使用して、文字列変数 string に単語 word が含まれているかどうかを確認しました。このアプローチでは、両方の文字列を文字ごとに比較します。これは、次の例に示すように、単語全体を比較せず、間違った答えを返す可能性があることを意味します。

string = "This contains a word"
if "is" in string:
    print("Found")
else:
    print("Not Found")

出力:

Found

出力は、単語 is が文字列変数 string 内に存在することを示しています。しかし、実際には、この is は、string 変数の最初の単語 This の一部にすぎません。

この問題には簡単な解決策があります。単語と string 変数を空白で囲んで、単語全体を比較することができます。以下のプログラムは、それを行う方法を示しています。

string = "This contains a word"
if " is " in (" " + string + " "):
    print("Found")
else:
    print("Not Found")

出力:

Not Found

上記のコードでは、同じ if/in ステートメントを使用しましたが、個々の単語のみを比較するように少し変更しました。今回の出力では、string 変数内に is のような単語は表示されません。