替换python中的特定单词

时间:2015-02-12 20:40:08

标签: python replace

如果我有一个字符串"这是",我想替换"是"到"是"。当我使用replace ("is", "was")时,我得到了#34;那是",但我期待的是"这是", 有什么解决方案吗?

1 个答案:

答案 0 :(得分:3)

您需要做一些比常规字符串替换更复杂的事情。我建议使用正则表达式(the re module),并使用\b转义序列来匹配字边界

import re
re.sub(r"\bis\b", "was", "This is the best island!")

结果:'This was the best island!'

使用模式r"\bis\b"而不仅仅是"is",您确保只有当它出现为独立单词时才匹配“是”(即没有数字,字母或下划线字符在原始字符串中与它直​​接相邻。)

以下是更多匹配和不匹配的示例:

re.sub(r"\bis\b", "was", "is? is_number? is, isn't 3is is, ,is, is. hyphen-is. &is")

结果:"was? is_number? was, isn't 3is was, ,was, was. hyphen-was. &was"