我有几串看起来像
"Abcde fgh 123,456"
我想将其拆分为
["Abcde fgh", "123,456"]
我试过了
string = "Abcde fgh 123,456"
re.split(r'(\d+)', string)
但这给
["Abcde fgh", "123", "," "456"]
最佳答案
之所以会得到该结果,是因为您将捕获组与split一起使用,该捕获组还将返回捕获的文本。
您可以改用正向前瞻。 (?=\d)
可以工作,但是为了更精确地显示示例数据,您还可以使用:(?<!\d)\s+(?=\d+,\d+)
Regex demo
import re
string = "Abcde fgh 123,456"
print(re.split(r'(?<!\d)\s+(?=\d+,\d+)', string))
关于python - 拆分字母数字字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53546442/