python如何检查和替换字符串中的单词?

时间:2013-04-15 02:15:12

标签: python

我是python的新手,我正在尝试创建一个能够检测字符串是否包含单词“I”,“我是”,“我的”,“是”,“我们的”的函数,“我”将其替换为“你”,“你是”,“你的”,“我们”,“你的”和“你”,如果它没有以任何标点符号结尾,也会在末尾添加一个问号。到目前为止,我有代码

if ' ' in statement and statement[-1].isalpha() is True:
       response = statement
       response = response + "?"

       return response

但是我不确定如何使这些单词的函数seach并替换为他们的对立面。例如,如果声明是“我的狗说我很高兴”它的回答应该是“你的狗说你很高兴吗?”

感谢

3 个答案:

答案 0 :(得分:6)

创建一个字典映射并迭代它,就像这样

d = {"I": "You", "I'm": "You're".....}
for k,v in d.iteritems():
    statement = statement.replace(k, v)

答案 1 :(得分:1)

查看python的replace函数,该函数替换为字符串......

e.g。

x = "My dog said I'm happy"
x.replace("My", "Your") # "Your dog said I'm happy"

您可以列出old作为要替换的单词列表,列出new作为要替换的内容,然后依次替换。

请注意,您应该在较短的单词之前替换较长的单词。

例如,如果你在上面用“你”替换“我”,你会得到“你的狗说你很开心”。因此,您应该在“我”之前替换“我是”

答案 2 :(得分:1)

之前已经问过manymany次。您需要使用Python Standard Libraryreplace方法的某些变体。