我有这个字符串
a = "IN 744301 Mus Andaman & Nicobar Islands 01 Nicobar 638 Carnicobar 9.2333 92.7833 4"
我想用正则表达式分割这个数字出现的地方,输出将是这样的
['IN' , '744301', 'Mus Andaman & Nicobar Islands', '01' , 'Nicobar', '638', 'Carnicobar', '9.2333','92.7833', '4' ]
最佳答案
您可以使用前瞻和后视:
import re
a = "IN 744301 Mus Andaman & Nicobar Islands 01 Nicobar 638 Carnicobar 9.2333 92.7833 4"
new_a = re.split('(?<=\d)\s+|\s+(?=\d)', a)
输出:
['IN', '744301', 'Mus Andaman & Nicobar Islands', '01', 'Nicobar', '638', 'Carnicobar', '9.2333', '92.7833', '4']
正则表达式解释:
(?<=\d)\s+
:匹配任何以数字 ( \s
) 开头的空格 ( \d
)。\s+(?=\d)
:匹配任何后跟数字的空格。|
:应用具有匹配项的连接表达式。关于python - 用数字所在的位置拆分字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56285914/