python - 用数字来拆分字符串

标签 python string split

我有这个字符串

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/

相关文章:

python - 如何使用 PyCharm 从命令行调试 python 脚本?

python - 找不到 libNVVM

java - Java中用分隔符分割复杂字符串

c - 在逗号处拆分输入行

java - 按 {} 和 [] 拆分字符串

python - 通过索引和分类数据处理 pandas 数据框

python - 将 .map 与 defaultdict 一起使用

python - 如何验证字符串是否仅包含字母、数字、下划线和破折号?

json - 将 Typescript 类转换为字符串,使用 getter 和 setter 而不是私有(private)变量

java - 将 SimpleDateFormat 转换为字符串