我想将.txt文件的内容作为字符串加载并提取特定的信息。信息在发生前后有很多文本,如下所示:

ValueName:     1234

但也可能看起来像:
ValueName:     123456

也就是说,该值始终是一个整数字符串,但长度不同。
我想在字符串中找到'ValueName',然后返回从6个字符开始的字符。我的想法是检查“ValueName”后面从6个字符开始的10个字符是否是整数,如果是,则按顺序返回。这可能吗?谢谢。

最佳答案

可以使用正则表达式提取ValueName:之后的值

>>> import re
>>> line = 'some dummy text ValueName:     123456 some dummy text'
>>> m = re.findall(r'ValueName:\s+([0-9]+)',line)
>>> m
['123456']

这将发现多个匹配,如果它们存在。
>>> import re
>>> line = 'blah blah ValueName: 1234 blah blah ValueName: 5678'
>>> m = re.findall(r'ValueName:\s+([0-9]+)',line)
>>> m
['1234', '5678']

关于python - Python从文本文件中提取不同长度的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17557689/

10-12 16:53