正規表現を使わない文字列比較・置換 まとめ
Rubyなどの言語が構文として正規表現を扱えるためか、しばしばPythonの正規表現は扱いにくいと言われることがあります。しかし逆にPythonを使っている側からすれば、他の言語では必要のないケースで正規表現を使い過ぎるようにも見えます。
次のようなパターンマッチ・文字列置換では正規表現は必要ありませんので、うまく使い分けるようにしてください。
固定文字列を含むかどうか
## TrueかFalseを返す '/cgi-bin/' in url ## 位置も調べたい場合 ## 0以上の整数(インデックス)または-1(見つからない場合)が返される url.find('/cgi-bin/') url.rfind('/cgi-bin/')
固定文字列で始まるか/終わるか
s.startswith('http://') s.endswith('.txt')
固定文字列/空白文字による分割
s.split(',')
前後の空白文字の除去
s.strip() s.rstrip()
固定文字列の置換
s.replace(str1, str2)
文字の置換
s.translate({ord1:str1, ord2:str2, ...})