Python:检索文本文件上由缩进限定的子字符串



我在如何使用Python识别文本文件上的缩进(按下tab键时出现的缩进(方面遇到了麻烦。我认为使用split函数会很有帮助,但似乎必须有一个物理角色可以充当"分隔符"。

这是一个文本示例,我正在尝试检索字符串"John"。假设空格是缩进:

15:50:00    John    1029384

感谢所有的帮助!谢谢

根据用于创建文件的程序,按TAB时实际插入的内容可能是TAB字符(t(或一系列空格。

实际上,你认为split()是一种做你想做的事的方式,这是对的。如果您不向它传递任何参数,它会将一系列空白和制表符视为一个单独的分隔符:

s = "15:50:00   John    1029384"
t = "15:50:00tJohnt1029384"
s.split() # Output: ['15:50:00', 'John', '1029384']
t.split() # Output: ['15:50:00', 'John', '1029384'] 

选项卡由t表示。看见https://www.w3schools.com/python/gloss_python_escape_characters.asp以获取更长的列表。

所以我们可以做以下事情:

s = "15:50:00   John    1029384"
s.split("t") # Output: ['15:50:00', 'John', '1029384']

如果您知道regex,那么您可以按如下方式使用look-ahead和look-band:

import re
re.search("(?<=t).*?(?=t)", s)[0] # Output: "John"

显然,这两种方法都需要通过考虑边缘情况和错误处理(例如,如果字符串中的选项卡少于或多于两个,会发生什么?在这种情况下,如何识别名称?(

相关内容

  • 没有找到相关文章

最新更新