python - 在特定字符串之后提取数据直到python中的新行
问题描述
我在电子邮件中有以下几行。
data=
'''
ABC something random: Adele Vance <AdeleV@contoso.OnMicrosoft.com>
To: Megan Bowen <MeganB@contoso.OnMicrosoft.com>
XYZ something random: Press conference
'''
我想提取“To:”之后的所有内容,直到下一行。目前我正在做以下事情。
start=data.find("To:") #Index where To starts
end=data.find("\n") #Index of a new line
expected_string=data[start:end].strip()
但它没有按预期工作。如何在“To”之后提取数据直到新行?IE
To: Megan Bowen <MeganB@contoso.OnMicrosoft.com>
解决方案
所以基本上.find()
返回子字符串的起始索引,如果它存在于字符串中。
所以在这种情况下
start=data.find("To:")
将返回起始索引。现在这部分出现了问题,end=data.find("\n") #Index of a new line
因为这将返回 first 的索引,\n
即第一行的结尾。所以我们必须在find
. 我们可以这样做。
data= '''
ABC something random: Adele Vance <AdeleV@contoso.OnMicrosoft.com>
To: Megan Bowen <MeganB@contoso.OnMicrosoft.com>
XYZ something random: Press conference
'''
start_index = data.find('To:')
end_index = data.find('\n',start_index)
start_string = data[start_index:end_index]
print(start_string)
在这里,如果你看,我添加了start_index
when \n
find which 将在“To:”所在的行中找到反斜杠 n。
推荐阅读
- node.js - 如果在 AWS cognito 中启用了 MFA,由于代码提示,我是否需要在客户端创建 js 来调用 cognitoUser.authenticateUser()?
- sql - 在 Oracle SQL 中从分层查询创建视图
- python - 如何在python中打破一长串链式赋值
- html - 导航栏没有完全覆盖
- postgresql - 分析:为什么一个查询需要这么长时间,似乎成本很低?
- r - 基于用户输入的可变高度渲染图
- excel - 从 Excel 中删除幻灯片中的图片
- android - 来自网址的轮播视图中缺少图像
- scroll - 基于列表的ListView的溢出
- javascript - 使用带有扭曲的javascript找到最大总和