如何从字符串中删除特定的单词?

新手上路,请多包涵

我需要从字符串中删除特定的单词。

但我发现 python strip 方法似乎无法识别有序单词。只是剥离传递给参数的任何字符。

例如:

 >>> papa = "papa is a good man"
>>> app = "app is important"
>>> papa.lstrip('papa')
" is a good man"
>>> app.lstrip('papa')
" is important"

我怎么能用python去除指定的单词?

原文由 Zen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

使用 str.replace

 >>> papa.replace('papa', '')
' is a good man'
>>> app.replace('papa', '')
'app is important'

或者使用 re 并使用正则表达式。这将允许删除前导/尾随空格。

 >>> import re
>>> papa = 'papa is a good man'
>>> app = 'app is important'
>>> papa3 = 'papa is a papa, and papa'
>>>
>>> patt = re.compile('(\s*)papa(\s*)')
>>> patt.sub('\\1mama\\2', papa)
'mama is a good man'
>>> patt.sub('\\1mama\\2', papa3)
'mama is a mama, and mama'
>>> patt.sub('', papa3)
'is a, and'

原文由 metatoaster 发布,翻译遵循 CC BY-SA 3.0 许可协议

最简单的方法是简单地用一个空字符串替换它。

 s = s.replace('papa', '')

原文由 iamdev 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题