python - 我怎样才能在Python中分割这个字符串

标签 python regex

我正在学习 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/

相关文章:

python - python 是否有像容器一样的 dict 但像 numpy.array 一样快?

python - cp: cannot stat ‘/mnt/ask78b30/TEST_FILE’ : 远程 I/O 错误

Python 字符串和列表

python - 如何在 TF2 中将 ImageDataGenerator 与 TensorFlow 数据集结合起来?

python - matplotlibs xticks 中的表情符号

regex - 在 .htaccess 上强制使用 HTTPS,但仅限于生产环境

regexp_replace 替换字符串的错误部分

Javascript 正则表达式 - 替换非数字字符

c# - RegularExpression C#,匹配组

javascript - 正则表达式匹配 A、AB、ABC,但不匹配 AC。 ("starts with")