文字列

【Python】文字列の中に特定の文字列が含まれているかを判定する方法 ~in, not in, startswith, endswith~

【Python】文字列の中に特定の文字列が含まれているかを判定する方法 _in, not in, startswith, endswith_

Pythonで、文字列の中に特定の文字列が含まれているかを判定する方法を解説します。

文字列に特定の文字列が含まれているかの判定する

文字列に指定した特定の文字列が含まれているかを判定にはin演算子やnot in演算子を使用します。

なお、文字列から自分が探したい特定の文字列を検索する場合は、find, rfindメソッドやindex, rindexメソッドを使用します。その場合は、以下も参考にしていただければと思います。

文字列に特定の文字列が含まれていることを判定する ~in~

特定の文字列が含まれていることを判定する場合は、以下のようにin演算子を使用します。

sample_text = 'Pythonプロジェクト'

# in による判定
print('--- in')
print('Python' in sample_text)
print('JAVA' in sample_text)
【実行結果】
--- in
True
False

in演算子では、特定の文字列が含まれている場合はTrue、含まれていない場合はFalseになります。

上記結果を見てもわかるように、in演算子で特定の文字列が含まれていることを判定できていることが分かるかと思います。

文字列に特定の文字列が含まれていないことを判定する ~not in~

特定の文字列が含まれていないことを判定する場合は、以下のようにnot in演算子を使用します。

sample_text = 'Pythonプロジェクト'

# not in による判定
print('--- not in')
print('Python' not in sample_text)
print('JAVA' not in sample_text)
【実行結果】
--- not in
False
True

not in演算子では、in演算子とは逆で、特定の文字列が含まれていない場合はTrue、含まれている場合はFalseになります。

上記結果を見てもわかるように、not in演算子で特定の文字列が含まれていないことを判定できていることが分かるかと思います。

文字列が特定の文字列で始まる/終わるかを判定する ~ startswith/endswith ~

in演算子やnot in演算子を用いることで、特定の文字列が含まれているか、含まれていないかを判定することができました。

特定の文字列で「始まるか」または「終わるか」を判定する場合には、startswithメソッドまたはendswithメソッドを使用します。

文字列が特定の文字列で始まることを判定する ~startswith~

文字列が特定の文字列で「始まる」ことを判定するには、startswithメソッドを使用します。startswithメソッドは以下のように使用します。

sample_text = 'Pythonプロジェクト'

# startswithによる判定
print('--- startswith')
print(sample_text.startswith('Python'))
print(sample_text.startswith('プロジェクト'))
【実行結果】
--- startswith
True
False

startswithメソッドでは、特定の文字列で始まる場合はTrue、始まらない場合はFalseとなります。上記結果を見ると文字列が指定した文字列で始まっていることが判定できていることが分かるかと思います。

なお、以下のようにnotを使用することで特定の文字列で「始まらない」という判定をすることも可能です。

sample_text = 'Pythonプロジェクト'

# startswithによる判定 notによる反転
print('--- startswith')
print(not sample_text.startswith('Python'))
print(not sample_text.startswith('プロジェクト'))
【実行結果】
--- startswith
False
True

文字列が特定の文字列で終わることを判定する ~endswith~

文字列が特定の文字列で「終わる」ことを判定するには、endswithメソッドを使用します。endswithメソッドは以下のように使用します。

sample_text = 'Pythonプロジェクト'

# endswithによる判定
print('--- endswith')
print(sample_text.endswith('Python'))
print(sample_text.endswith('プロジェクト'))
【実行結果】
--- endswith
False
True

endswithメソッドでは、特定の文字列で終わる場合はTrue、終わらない場合はFalseとなります。上記結果を見ると文字列が指定した文字列で終わっていることが判定できていることが分かるかと思います。

なお、以下のようにnotを使用することで特定の文字列で「終わらない」という判定をすることも可能です。

sample_text = 'Pythonプロジェクト'

# endswithによる判定 notによる反転
print('--- endswith')
print(not sample_text.endswith('Python'))
print(not sample_text.endswith('プロジェクト'))
【実行結果】
--- endswith
True
False

Note

startswithの公式ドキュメントの記載はこちらを参照してください。

endswithの公式ドキュメントの記載はこちらを参照してください。