Python 删除关键字后的单个单词
删除“亲爱的”关键字后的名称的Python脚本 我有一系列的案例评论,我正试图删除“亲爱的”一词后面的人的名字。例如,我的字符串可能是“亲爱的Jane,其中一个产品有问题。”我希望脚本找到“亲爱的”,然后删除下面的单词“Jane”。我的脚本标识为“亲爱的”,但删除了名称之后的所有内容:Python 删除关键字后的单个单词,python,Python,删除“亲爱的”关键字后的名称的Python脚本 我有一系列的案例评论,我正试图删除“亲爱的”一词后面的人的名字。例如,我的字符串可能是“亲爱的Jane,其中一个产品有问题。”我希望脚本找到“亲爱的”,然后删除下面的单词“Jane”。我的脚本标识为“亲爱的”,但删除了名称之后的所有内容: text = 'Dear Jane, I am having an issue with one of the products.' text = ''.join(text.partition('Dear')[
text = 'Dear Jane, I am having an issue with one of the products.'
text = ''.join(text.partition('Dear')[:2])
print(text)
对于任何高级文本处理,请使用
re
内置模块:
import re
text = 'Dear Jane, I am having an issue with one of the products.'
print(re.sub('^Dear\s(.*?),', 'Dear,', text))
输出:
亲爱的,我有一个产品的问题
如果您想离开亲爱的
,但删除了名称,您可以在此处使用正则表达式和re.sub
:
>>> import re
>>> re.sub(r'(Dear)\s\w+', r'\1', text)
'Dear, I am having an issue with one of the products.'
如果您还想删除亲爱的
,您可以更改正则表达式:
>>> re.sub(r'Dear\s\w+[^\w]+', '', text)
'I am having an issue with one of the products.'
亲爱的,你想离开吗?所以它说:
亲爱的,我有…
不,它也可以和名字一起删除。如果它是“亲爱的约翰·史密斯”并且想要删除两个名字,你会如何编辑脚本?在亲爱的任何东西之后总是有一个逗号吗
?不,不会总是有一个逗号。不幸的是,没有一种通用的方法可以检测是否需要删除1个或2个单词,而不需要将名称与可能的名称列表进行比较,etcNo担心,仅此一项就非常有用。谢谢