python - 用python中字符串中的另一个单词替换单词

标签 python regex string replace

我有一个字符串:"y, i agree with u."

我有数组字典[(word_will_replace, [word_will_be_replaced])]:

[('yes', ['y', 'ya', 'ye']), ('you', ['u', 'yu'])]

我想将 'y' 替换为 'yes' 并将 'u' 替换为 'you'根据数组字典。

所以我想要的结果是:“是的,我同意你的看法。”

我想保留标点符号。

最佳答案

import re
s="y, i agree with u. yu."
l=[('yes', ['y', 'ya', 'ye']), ('you', ['u', 'yu'])] 
d={ k : "\\b(?:" + "|".join(v) + ")\\b" for k,v in l}
for k,r in d.items(): s = re.sub(r, k, s)  
print s

输出

yes, i agree with you. you.

关于python - 用python中字符串中的另一个单词替换单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600823/

相关文章:

java - 下载文件中的 UTF-8 编码名称

python - 如何从命令行 python 获取列表作为输入?

Python重启程序

javascript - javascript正则表达式中的后视断言语法错误

java - 如何在没有尾随/前导空格或空值的情况下使用 String.split() 拆分字符串?

javascript - 如何在 Chrome 扩展中将 URL 与片段标识符匹配?

Javascript-尝试清空预标记会导致多个字符串

python - TensorArray 和 while_loop 如何在 tensorflow 中协同工作?

python - 如何使用 Prefect 在 AKS 上部署 Kubernetes 作业

python - Matplotlib 在循环中绘图时不会打开绘图窗口