4

我对python中的正则表达式很陌生。我有以下字符串,想将它们分成五类。我只是使用 split() 但它只会根据空格进行拆分。

s = "1 0 A10B 1/00 Description: This is description with spaces"
sp = s.split()
>>> sp
["1", "0", "A10B", "1/00", "Description:", "This", "is", "description", "with", "spaces"]

如何编写正则表达式以使其像这样拆分:

 ["1", "0", "A10B", "1/00", "Description: This is description with spaces"]

有人可以帮忙吗?谢谢!

4

3 回答 3

10

您可以简单地指定拆分数量:

s.split(' ', 4)
于 2012-05-22T07:41:32.953 回答
2

第二个参数split()是要执行的最大拆分数。如果将此设置为 4,则剩余的字符串将是列表中的第 5 项。

 sp = s.split(' ', 4)
于 2012-05-22T07:46:01.093 回答
1

不是一个完美的解决方案。但首先。

>>> sp=s.split()[0:4]
>>> sp.append(' '.join(s.split()[4:]))
>>> print sp
['1', '0', 'A10B', '1/00', 'Description: This is description with spaces']
于 2012-05-22T07:45:08.313 回答