我正在学习 Python (3)。我想将每一行分成四个单独的部分。
[Test Branch] bobjones 0 6/13/2008 4:24 PM
[Todd's Workspace] tfatcher 0 6/16/2008 9:20 AM
[Henry] hmckinkley 1 6/17/2008 10:12 AM
[Henry] hmckinkley 0 6/17/2008 10:15 AM
我可以对每个日期调用 line.split(),但随后我会将日期重新组合在一起。我猜第一个 [ ] 部分中的空格也排除了这一点。我想我可以对它进行切片,但我不能 100% 确定这些数据的宽度是固定的。正则表达式可能是最好的,是吗?有什么指示吗?
更新: 我认为 @Selcuk 的解决方案会非常有效:
branch,user,version,timestamp = [commitheaderline.split("]", 1)[0] + "]"] + commitheaderline.split("]", 1)[1].split(None, 2)
但是后来我遇到了一些数据,其中用户名太长(下面的示例),因此其余数据最终换成了新行。所以我现在正在努力。我想在运行 split() 之前以某种方式测试该行,如果它看起来不像“正确”的行,我会将其与下一行连接起来。
[Test Branch] bobjones 0 6/13/2008 4:24 PM
[Todd's Workspace] tfatcher 0 6/16/2008 9:20 AM
[cole] bob.darknsdale
0 7/27/2012 12:49 PM
最佳答案
尝试
import re
sep = re.split(" {2,}", str)
如果字符串被多个空格分隔,这将起作用。如果它们是制表符,请尝试
import re
sep = re.split("\t+", str)
关于python - 我怎样才能在Python中分割这个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40837589/