1. ホーム
  2. python

置換の辞書を使用して文字列を置換する最も簡単な方法?

2023-09-10 04:19:18

質問

考えてみてください。

dict = {
'Спорт':'Досуг',
'russianA':'englishA'
}

s = 'Спорт russianA'

のすべてのdictキーをそれぞれのdict値に置き換えたいと思います。 s .

どのように解決するのですか?

reを使用する。

import re

s = 'Спорт not russianA'
d = {
'Спорт':'Досуг',
'russianA':'englishA'
}

pattern = re.compile(r'\b(' + '|'.join(d.keys()) + r')\b')
result = pattern.sub(lambda x: d[x.group()], s)
# Output: 'Досуг not englishA'

これは単語全体のみにマッチします。それが必要ない場合は、パターンを使ってください。

pattern = re.compile('|'.join(d.keys()))

この場合、辞書の項目が他の項目の部分文字列である場合は、長さの降順で単語を並べ替える必要があることに注意してください。