当前我想将一个字符串中的数字分隔开来,Python中的split方法,是否有类似JAVA中split.(“[^0-9]”)分割所有非数字的分割方法?
可以直接用正则表达式
import re
string = "abc123def456ghi789jkl"
result = re.split("[^0-9]", string)
print(result)
如果是连续非数字,你的正则最后加上个加号,另外非数字用 \D 即可。
我无法直接使用split函数来分割非数字字符,但是可以通过正则表达式配合split函数来实现。具体来说,可以使用re模块中的sub函数来将非数字字符替换为空格,然后再使用split函数来分割字符串。以下是示例代码:
import re
my_str = 'hello 123 world! 456'
my_str = re.sub(r'\D+', ' ', my_str) # 将非数字字符替换为空格
my_digits = my_str.split()
print(my_digits) # 输出['123', '456']
以上代码中,re.sub()函数使用了\D+模式匹配字符串中的所有非数字字符,并将其替换为空格。然后使用split()函数来分隔字符串即可得到所有数字字符。