gpt4 book ai didi

python - 如何去除字符串中模式 "On x John wrote:"之后的所有内容

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:39 24 4
gpt4 key购买 nike

我有一个大字符串(来自阅读电子邮件)。现在,当用户回复时,典型的回复如下所示:

"On x x x wrote:"

我想去掉这个模式之后的所有文本。但是,我不确定如何识别这种模式。

我知道如何去掉某个单词或字符后的所有内容:

abc = abc.split('From:', 1)[0]

但是当您在模式 Onwrote: 之间有文本时,您会怎么做?

示例:

\r\nOn Tue, Feb 12, 2019 at 1:11 PM +0100, "Name" <email@email.com<mailto:email@email.com>> wrote:\r\n

最佳答案

正则表达式将排序:

re.match(r"\r\nOn.+wrote:", email)[0]

^ 表示字符串的开始
On 是单词“On”
.+ 是任何事物的一个或多个实例
wrote: 是单词“wrote”

末尾的 [0] 将从电子邮件中获取第一个匹配项email.strip() 删除空格

例子:

import re

email = '\r\nOn Tue, Feb 12, 2019 at 1:11 PM +0100, "Name" <email@email.com<mailto:email@email.com>> wrote:\r\n'
extracted = re.match(r"On.+wrote:", email.replace('\r', '').replace('\n', ''))[0]
print(extracted)

Out[163]: 'On Tue, Feb 12, 2019 at 1:11 PM +0100, "Name" <email@email.com<mailto:email@email.com>> wrote:'

正则表达式的替代方法是找到单词“On”第一次出现的索引和单词“wrote”的索引,并在它们之间对整个文本进行子集:

extracted = email[email.find('On'):email[email.find('On'):].find('wrote:')+8]

关于python - 如何去除字符串中模式 "On x John wrote:"之后的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54668381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com