Pythonで文字列が含まれているかどうかを調べる

Pythonで文字列が含まれているかどうかを調べる

あいかわらず、ログファイルを集計している。
ログファイルに特定の文字が現れる行の行数を数えたい。

文字が含まれているかどうか

strのfindを使うと、他の言語のindexOfの様に位置を出現個所の位置を返してくれるようだ。

1
2
3
line = 'test message'
print(line.find('mes'))
print(line.find('mec'))

上記の例だと、最初が5、次が-1が返る。
-1より大きいかどうかを判断すれば文字が含まれるかどうかをチェックできる。
しかし、今回は位置は必要ない。
そういう場合は、配列に含まれているかどうかと同様に in を使えばよい。

1
2
3
line = 'test message'
print('mes' in line)
print('mec' in line)

上記の例だと、最初がTrue、次がFalseが返る。
スマート。
そして、統一感がある。

まとめ

inで含まれているかどうかが、配列でもディクショナリでも文字列でも扱えるところは統一感があって素晴らしい。
ちなみに、Kotlinであればcontainsがそれにあたるのだろう。

同じタグの記事
同じカテゴリの記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA