文字列メソッドによる単純な置換には str.replace があり、1つ2つの置換文字列の指定だと問題無いと思うのですが、
lang
1hoge = 'キリンが好きだ。しかし、象の方がもっと好きである。' 2print hoge.replace('象', 'ゾウ') 3# キリンが好きだ。しかし、ゾウの方がもっと好きである。
複数箇所置換したいとき、たとえばこのような場合、
lang
1hoge = '私はキリンが好きだ。しかし、象の方がもっと好きである。' 2print hoge.replace('キリン','キリンさん').replace('だ','です').replace('しかし','でも').replace('象','ゾウさん').replace('である','です') 3# キリンさんが好きです。でも、ゾウさんの方がもっと好きです。
このように何度もhogeを.replaceで置換していけば問題なく行えますが、効率が悪いような気がします…。
辞書に置換対応を書いておき、辞書から.replaceのように文字列置換する方法を模索し、参考になりそうな近いことを実装している記事を見つけたのですが、噛み砕いて理解できませんでした。(恐らく正規表現関連の知識が乏しいからだとは思ってます…)
Python の文字列置換で便利な str.translate
[python] 一度に複数のパターンを置換する関数(正規表現を置換前文字列とできる版)
もし、辞書等から複数箇所の文字列置換方法があればご教示下さい。
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/17 04:13