Pythonで部分文字列が文字列に含まれているか確認する方法(in演算子とfindメソッド)
Pythonでは、ある文字列が別の文字列の部分文字列(サブストリング)として含まれているかどうかを簡単に確認できます。最も基本的な方法は、in 演算子を使うことです。
in 演算子を使った判定方法
in 演算子は、左辺の文字列が右辺の文字列に含まれている場合に True を、含まれていない場合に False を返します。以下はその使用例です。
print('ello' in 'hello world')実行結果:
True
このように、'ello' は 'hello world' の中に含まれているため、True が出力されます。
find() メソッドで位置(インデックス)を取得する
部分文字列が含まれているかどうかに加えて、その最初の出現位置(インデックス)も知りたい場合は、find() メソッドを使用します。
find(substr) は、指定した部分文字列が見つかった位置のインデックスを返します。もし部分文字列が存在しない場合は -1 を返すため、戻り値が -1 かどうかで存在チェックを行うことも可能です。
find() メソッドの使用例
次の例では、'hello world' 内に 'ello' が含まれる位置を取得しています。
print("hello world".find('ello'))実行結果:
1
'ello' はインデックス 1 の位置から始まるため、1 が出力されます。
部分文字列が存在しない場合
今度は、文字列 'Harry Potter: The Goblet of Fire' に 'no' が含まれているかどうかを確認してみましょう。
print("Harry Potter: The Goblet of Fire".find('no'))実行結果:
-1
この文字列には 'no' が含まれていないため、-1 が返されます。
まとめ
- 単純に含まれているかどうかだけを確認したい場合は、
in演算子を使うのがシンプルで推奨される方法です。 - 部分文字列の位置(インデックス)が必要な場合は、
find()メソッドを使います。見つからない場合は-1が返されます。
用途に応じてこれらの方法を使い分けることで、Pythonでの文字列操作を効率的に行えます。
-
Pythonで文字列が英数字のみで構成されているか判定する方法【isalnum()と正規表現】
Pythonでは、文字列がアルファベットや数字だけで構成されているかどうかを簡単にチェックできます。主な方法は2つあります。1つは文字列クラスに組み込まれている isalnum() メソッドを使う方法、もう1つは正規表現(regex)を使う方法です。 1. isalnum() メソッドを使う方法 Pythonの文字列クラスには isalnum() というメソッドが用意されています。このメソッドを文字列に対して呼び出すと、その文字列が英数字(アルファベットと数字)のみで構成されている場合に True を、それ以外の場合に False を返します。 使用例:英数字のみの文字列 print(12
-
Pythonで文字列が指定した接尾辞(サフィックス)で終わっているかどうかを確認する方法
endswith()メソッドを使う方法Pythonでは、文字列クラスに用意されている endswith() メソッドを使うことで、文字列が特定の接尾辞(サフィックス)で終わっているかどうかを簡単に確認できます。このメソッドは、検索したい接尾辞の文字列を引数として受け取り、文字列オブジェクトに対して呼び出します。以下のように使用します。string = C:/Users/TutorialsPoint1/~.py print(string.endswith(.py))実行結果:Trueこの例では、ファイルパスの文字列が .py という拡張子で終わっているため、True が返されます。もし終わってい