本記事では文字列の取得方法に関して以下の種類を見ていきます.
- 〜で始まる文字列
- 〜で終わる文字列
- 〜という文字が含まれる文字列
〜で始まる文字列
特定のパターンから始まる文字列を取得したい場合,
Pythonの組み込みメソッドstartswith()
を使用します.
l = ['p_match_file', 'o_file', 'p_file2']
# 文字列の最初が「p_」の文字列を取得
for i in l:
if i.startswith('p_'):
print(i)
p_match_file p_file2
'任意の文字列'.startswith('始まりの文字列')
とすることで,任意の文字列が「始まりの文字列」で始まっていれば真となります.
上記のコード例ではリストに含まれる各文字列についてp_
で始まっているかをチェックしてp_
で始まっている文字列のみを出力しています.
〜で終わる文字列
特定のパターンで終わる文字列を取得したい場合,
Pythonの組み込みメソッドendswith()
を使用します.
l = ['p_match_file', 'o_file', 'p_file2']
# 文字列の最後が「file」の文字列を取得
for i in l:
if i.endswith('file'):
print(i)
p_match_file o_file
指定の方法はstartswith()
と同じです.
リストに含まれる各文字列についてfile
で終わっているかをチェックしています.
ちゃんとp_file2
が除外されていますね.
〜という文字が含まれる文字列
特定の文字が含まれる文字列を取得したい場合,Pythonのin
演算子を使用します.
l = ['p_match_file', 'o_file', 'p_file2']
# 文字列中に「match」が含まれる文字列を取得
for i in l:
if 'match' in i:
print(i)
p_match_file
'任意の文字' in '対象文字列'
とすることで,対象文字列の中に任意の文字列(=リストの各文字列の中にmatch
という文字)が含まれているかを確認しています.
その結果match
という文字が含まれるp_match_file
だけが出力されています.
in
演算子の判定に関して
in
演算子を使った判定では指定した文字列が含まれていれば真になるので,確認したい文字のパターンをよく確認しておくことが大切です.
# in演算子は一致すれば取れてしまう
for i in l:
if 'file' in i:
print(i)
p_match_file o_file p_file2
ひとこと
文字列のパターンがシンプルであれば正規表現を使わずにサクッと判定できますね.
結局正規表現になることも多いですが・・・