繁体   English   中英

从列表中删除完全匹配词

[英]Remove exact match word from the list

"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"

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

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

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

或者

"I am a human".replace(" a "," ")

根据文档,当列表中没有这样的值时, remove()方法会引发错误。

如您所知,这可能会发生,您可以捕获异常:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM