在 Python 中使用字典替换字符串中的单词

Python 中要使用字典替换字符串中的单词:

  1. 使用 for 循环遍历字典的项目。
  2. 使用 str.replace() 方法将字符串中的单词替换为字典的项目。
  3. str.replace() 方法将返回一个替换了匹配项的新字符串。
my_str = 'site | name'

my_dict = {
    'site': 'zadmei.com',
    'name': '火焰兔'
}


for key, value in my_dict.items():
    my_str = my_str.replace(key, value)

# 👇️ zadmei.com | 火焰兔
print(my_str)

我们使用 for 循环遍历字典的项目。

dict.items 方法返回字典项((键,值)对)的新视图。

my_dict = {
    'site': 'zadmei.com',
    'name': '火焰兔'
}

# 👇️ dict_items([('site', 'zadmei.com'), ('name', '火焰兔')])
print(my_dict.items())

在每次迭代中,我们使用 str.replace() 方法将字符串中的子字符串替换为字典中的值。

my_str = 'site | name'

my_dict = {
    'site': 'zadmei.com',
    'name': '火焰兔'
}

for key, value in my_dict.items():
    my_str = my_str.replace(key, value)

# 👇️ zadmei.com | 火焰兔
print(my_str)

str.replace 方法返回字符串的副本,其中所有出现的子字符串都被提供的替换项替换。

该方法采用以下参数:

  • old 字符串中我们要替换的子串
  • new 替换每次出现的 old
  • count 仅替换第一个 count 出现(可选)

该方法不会更改原始字符串。 字符串在 Python 中是不可变的。

如果需要将字典的键和值转换为小写,请使用 str.lower() 方法。

my_str = 'site | name'

my_dict = {
    'SITE': 'ZADMEI.COM',
    'NAME': 'ZADMEI'
}

for key, value in my_dict.items():
    my_str = my_str.replace(key.lower(), value.lower())

# 👇️ zadmei.com | zadmei
print(my_str)

str.lower 方法返回字符串的副本,其中所有大小写字符都转换为小写。

我们还可以使用 re.sub() 方法以不区分大小写的方式使用字典的项目替换字符串中的单词。

import re

my_str = 'site | name'

my_dict = {
    'SITE': 'ZADMEI.COM',
    'NAME': 'ZADMEI'
}

for key, value in my_dict.items():
    my_str = re.sub(key, value.lower(), my_str, flags=re.IGNORECASE)

# 👇️ zadmei.com | zadmei
print(my_str)

re.sub 方法返回一个新字符串,该字符串是通过用提供的替换替换模式的出现而获得的。

请注意 ,我们设置了 re.IGNORECASE 标志以在匹配字符串中的单词时忽略大小写。