如何使用字典執行多個字串替換?

Mary-Kate Olsen
發布: 2024-10-19 16:05:02
原創
404 人瀏覽過

How to Perform Multiple String Replacements Using Dictionaries?

使用字典在字串中進行多重替換

給定一個字典d 將一組鍵映射到所需的替換以及包含這些鍵的字串s,如何將s 中出現的每個鍵替換為d 中對應的值?

解:

利用Python 的re 模組可以使用以下命令在字串中進行高效的多次替換字典:

<code class="python">import re

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

keys = (re.escape(k) for k in d.keys())
pattern = re.compile(r'\b(' + '|'.join(keys) + r')\b')
result = pattern.sub(lambda x: d[x.group()], s)

print(result)  # Output: 'Досуг not englishA'</code>
登入後複製

此方法採用正規表示式模式來匹配與任何d 鍵相符的整個單字。 sub 方法中的 lambda 函數使用 d 執行替換。

要允許在單字內替換而不僅僅是單字邊界,請修改模式:

<code class="python">pattern = re.compile('|'.join(re.escape(k) for k in d.keys()))</code>
登入後複製

在本例中,對字典進行排序鍵按長度降序以防止子字串匹配。

以上是如何使用字典執行多個字串替換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!