从列表中删除完全匹配的单词

时间:2015-11-24 08:51:07

标签: python

"I am a human"

从上面的字符串中我想删除字母“a”,以便字符串变为:

"I am human"

我使用了以下代码,它完全正常。

plural = input("Enter a string: ")
processed = plural.split()

processed.remove("a")

但是,如果句子中没有“a”,则会以错误结束。

"I am not an elephant"

在这种情况下,我希望程序忽略它。我该怎么做?

2 个答案:

答案 0 :(得分:2)

它只是对模式匹配的文本进行拆分。正则表达式使用正则表达式要好得多。

MyError

OR

" ".join("I am a human".split(" a "))

答案 1 :(得分:1)

根据the docremove()方法在列表中没有此类值时会引发错误。

如您所知,这可能会发生,您可以抓住异常:

try:
    processed.remove("a")       
except ValueError:
    pass # happens.

然而,使用正则表达式会更好,例如re.sub()

plural

中出现意外情况时,这不会中断
plural = "I am a human"
value = re.sub(' a ', ' ', plural) # Replace "space + 'a' letter + space" with one space