拆分字母数字字符串

时间:2018-11-29 19:43:59

标签: python string split

我有几个看起来像这样的字符串

"Abcde fgh 123,456"

我想将其拆分为

["Abcde fgh", "123,456"]

我尝试了

string = "Abcde fgh 123,456"
re.split(r'(\d+)', string)

但这给了

["Abcde fgh", "123", "," "456"]

1 个答案:

答案 0 :(得分:2)

之所以能够得到此结果,是因为您使用了一个带有split的捕获组,该捕获组还将返回捕获的文本。

您可以改用正向前行。 (?=\d)可以使用,但为了更精确地显示示例数据,您还可以使用:

(?<!\d)\s+(?=\d+,\d+)

Regex demo

import re
string = "Abcde fgh 123,456"
print(re.split(r'(?<!\d)\s+(?=\d+,\d+)', string))