Python split()函数

Python split(()函数 通过指定空格来分割字符串,可是最后却返回的是两个空的子字符串
请问这个是什么原因呢?望指教,谢谢!

img

在 Python 中,split() 函数默认以空格作为分隔符来拆分字符串。当输入的字符串只包含空格时,split() 函数将返回两个空的子字符串。这是因为空格被视为分隔符,所以在没有其他非空字符时,分割后得到的子字符串都是空的,如果你想避免得到空字符串,可以在调用 split() 函数时指定非空字符作为分隔符

str是一个函数,你换一个名字
还有,试试看 split(' ')

关于split(),我曾经详细记录过它的用法,你可以看一下:【Python基础】字符串的基础操作:定义 || 统计 || 判断 || 查找和替换 || 大小写转换 || 文本对齐 || 去除空白字符 || 拆分和连接 || 字符串切片 https://blog.csdn.net/qq_44731019/article/details/126455938?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168973533416782425116946%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168973533416782425116946&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-11-126455938-null-null.268^v1^koosearch&utm_term=split&spm=1018.2226.3001.4450

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7494193
  • 你也可以参考下这篇文章:python split()截取一部分的字符串
  • 除此之外, 这篇博客: Python3中的split()函数的用法中的 2、分离字符串 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • str = "www.csdn.net"
    
  • 以下回答由chatgpt基于相关博客总结生成:

    问题的原因是Python的split()函数默认按照空格进行分割,并且会将连续的空格看作一个空格。如果字符串之间存在多个空格,split()函数会将每个空格都视为分隔符,并且返回空的子字符串。

    解决这个问题的方式可以是使用正则表达式来分割字符串,这样可以更灵活地指定分隔符。下面是一个具体的解决方案:

    import re
    
    def split_string(string):
        return re.split(r'\s+', string.strip())
    
    # 示例用法
    string = "a  b  c    d"
    result = split_string(string)
    print(result)
    

    输出: ['a', 'b', 'c', 'd']

    这个解决方案使用正则表达式r'\s+'来匹配连续的空格,并将其作为分隔符进行分割。使用strip()函数来去除字符串开头和结尾的空格。最终的结果是一个包含非空字符串的列表。

    希望这个解决方案能够解决您的问题!如果还有其他疑问,请随时提问。