Pythonでは、一つの文字列を別の文字列に置換するためのメソッドとしてstr.replace()
があります。しかし、複数の文字列を一度に置換する場合、このメソッドを連続して使用するとコードが冗長になります。そこで、辞書を使って複数の文字列を一度に置換する方法を紹介します。
まず、置換したい文字列とその置換文字列をキーと値として辞書に格納します。次に、正規表現を使って辞書のキーに一致する文字列を検索し、対応する値で置換します。以下に具体的なコードを示します。
import re
def multiple_replace(text, adict):
rx = re.compile('|'.join(adict))
def one_xlat(match):
return adict[match.group(0)]
return rx.sub(one_xlat, text)
original_text = 'キリンが好きだ。しかし、象の方がもっと好きである。'
trans_tone = {
'キリン': 'キリンさん',
'だ': 'です',
'しかし': 'でも',
'象': 'ゾウさん'
}
after = multiple_replace(original_text, trans_tone)
print('Before:\t' + original_text)
print('After:\t' + after)
このコードを実行すると、original_text
内の指定した文字列が辞書に基づいて置換され、結果が出力されます。
この方法を使えば、複数の文字列を一度に効率的に置換することが可能です。特に、大量のテキストデータを処理する際には、この方法が役立つでしょう。