Python中split函数的用法

当前我想将一个字符串中的数字分隔开来,Python中的split方法,是否有类似JAVA中split.(“[^0-9]”)分割所有非数字的分割方法?

可以直接用正则表达式

import re

string = "abc123def456ghi789jkl"
result = re.split("[^0-9]", string)
print(result)

img

如果是连续非数字,你的正则最后加上个加号,另外非数字用 \D 即可。

  • 这篇博客: Python编程基础09:使用字符串中的 4、字符串分隔 - split() 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 语法格式
      在这里插入图片描述
    • 案例演示
      在这里插入图片描述
  • 以下回答由chatgpt基于相关博客总结生成:

    我无法直接使用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()函数来分隔字符串即可得到所有数字字符。