python - 使用替换字典替换字符串的最简单方法?

标签 python regex

考虑..

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

s = 'Спорт russianA'

我想用 s 中各自的 dict 值替换所有 dict 键。

最佳答案

使用回复:

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()))

请注意,在这种情况下,如果您的某些字典条目是其他条目的子字符串,则应按长度降序对单词进行排序。

关于python - 使用替换字典替换字符串的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2400504/

相关文章:

python - 如何在 Sphinx 处理的文档字符串中表示单个参数或返回值的多种类型?

sql - 测试正常时正则表达式无法正常工作

python - 在圆形图像周围生成光滑的白色边框

python - 以表格形式打印字典列表

c# - 如何在一行代码中转义所有值得转义的字符?

java - 为什么这个 Java 正则表达式不起作用?

regex - 使用 Scala 中的 Spark 使用 Regex 过滤 DataFrame

c# - 在 C# 正则表达式中使用条件替换进行 CSS 缩小

python - 如何使用行的值 'unravel' 数据帧?

python - 使用复数时如何限制小数位数