Skip to main content
 首页 » 编程设计

python之用字符串中的单词替换单词

2025年05月04日30Renyi-Fan

我有一个像下面这样的字典

word_dict = {'a': 'a1', 'winter': 'cold', 'summer': 'hot'} 

我有一个这样的字符串:

data = "It's winter not summer. Have a nice day" 

我想做的是将 data 中的单词 a 替换为 a1,将 winter 替换为 cold 等。我确实尝试使用以下代码:

for word in word_dict: 
    data = data.replace(word, word_dict[word]) 

但它失败了,因为它替换了子字符串(data 的子字符串,而不是单词)。事实上,单词 Have 被替换为 Ha1ve。

结果应该是:

data = "It's cold not hot. Have a1 nice day" 

请您参考如下方法:

你可以使用 re.sub 。 \b 匹配单词字符和非单词字符的单词边界。我们需要使用单词边界来匹配一个精确的单词字符串,否则它也会匹配 day

中的 a
>>> word_dict = {'a': 'a1', 'winter': 'cold', 'summer': 'hot'} 
>>> data = "It's winter not summer. Have a nice day" 
>>> for word in word_dict: 
        data = re.sub(r'\b'+word+r'\b', word_dict[word], data) 
 
 
>>> data 
"It's cold not hot. Have a1 nice day"