【问题标题】:Reading substrings from string in Python在 Python 中从字符串中读取子字符串
【发布时间】:2012-12-09 15:46:51
【问题描述】:

我正在做一些研究,我在一个大文本文件中有 +25,000 份报告。每个报告都按“TEXTSTART[UNIQUE-ID]”和“TEXTEND”划分。

到目前为止,我已经使用以下代码从 txt 文件中成功读取了一个报告(即标识符之间的文本):

f = open("samples_combined_incomplete.txt","r" )
report = f.read()
f.close()

rstart = "TEXTSTART"
rend = "TEXTEND"

a = ((report.split(rstart))[1].split(rend)[0])
print (a)

我的问题是这样的;如何根据 TEXTSTART[UNIQUE-ID] 将文本文档划分为唯一可识别的子字符串?以及ID应该如何返回?

我刚刚开始,所以任何关于文档、有用功能等的建议都会非常受欢迎。


谢谢你,就像一个魅力! ID 是数字和字符的组合,仅供参考。

f = open("samples_combined_incomplete.txt","r" )
report = f.read()
f.close()

rstart = "TEXTSTART"
rend = "TEXTEND"
a = 0

dict = re.findall('TEXTSTART\[(.*?)\](.*?)TEXTEND', report, re.DOTALL)

while a < 10:
    print (dict[a])
    a += 1

如果我想在容器中搜索特定关键字并返回键,我该怎么做?

【问题讨论】:

标签: python string python-3.x


【解决方案1】:
import re
print dict(re.findall('TEXTSTART\[([^\]]+)\](.*?)TEXTEND', report, re.DOTALL))

【讨论】:

  • 如果文本跨越多行,我认为这需要将re.DOTALL 指定为选项。
猜你喜欢
  • 2016-06-01
  • 2023-01-07
  • 1970-01-01
  • 1970-01-01
  • 2021-05-01
  • 1970-01-01
  • 2011-07-21
  • 1970-01-01
相关资源
最近更新 更多