如何使用字典进行多个字符串替换
需要根据键值对字符串进行多次替换的场景配对,使用字典可以证明是有效的。这是一个 Python 解决方案:
<code class="python">import re s = 'Спорт russianA' d = { 'Спорт': 'Досуг', 'russianA': 'englishA', } # Construct a regular expression pattern for all dictionary keys keys = (re.escape(k) for k in d.keys()) pattern = re.compile(r'\b(' + '|'.join(keys) + r')\b') # Replace keys with corresponding values result = pattern.sub(lambda x: d[x.group()], s) # Output: 'Досуг englishA'</code>
这种方法使用正则表达式来定位字符串中的键,并用字典中的值替换它们。要仅匹配整个单词,请在模式中指定单词边界 (b)。
如果不需要匹配整个单词,请使用模式:
<code class="python">pattern = re.compile('|'.join(re.escape(k) for k in d.keys()))</code>
注意: 在这种情况下,将字典键按长度降序排序,以防止当某些键是其他键的子字符串时发生错误替换。
以上是如何在 Python 中使用字典执行高效的字符串替换?的详细内容。更多信息请关注PHP中文网其他相关文章!