用于在所有空白处拆分的正则表达式Python

用于在所有空白处拆分的正则表达式Python,python,regex,Python,Regex,可能重复: 我有这样一个字符串: ['.text 0x1000 0xb51b 0xb600 6.259216 '] 我想把它分成以下几部分: [.text, 0x1000, 0xb51b... etc] 到目前为止,我已经尝试: 关于斯普利特,b 和 关于拆分[\t],b 但是没有用。我得到的东西有: .['.text', ' ', '0x1000', ' ', '0xb51b', ' ', '0xb600', ' ', '6.25921

可能重复:

我有这样一个字符串:

['.text      0x1000       0xb51b       0xb600       6.259216    ']
我想把它分成以下几部分:

[.text, 0x1000, 0xb51b... etc]
到目前为止,我已经尝试: 关于斯普利特,b 和 关于拆分[\t],b

但是没有用。我得到的东西有:

.['.text', ' ', '0x1000', ' ', '0xb51b', ' ', '0xb600', ' ', '6.259216', ' ', '']

或者其他一些有更多空白的。我知道我可以从字符串中删除空白,但我更愿意直接使用RE来拆分它们

为什么不直接用普通的

要引用文档,请执行以下操作:

如果未指定sep或sep为None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果的开头或结尾将不包含空字符串


顺便说一句,我发现使用mystring.splitNone而不是mystring.split有时是一件非常有用的事情,因为它允许您不硬编码分割算法。

为什么不使用常规算法呢

要引用文档,请执行以下操作:

如果未指定sep或sep为None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果的开头或结尾将不包含空字符串


另一方面,我发现使用mystring.splitNone而不是mystring.split有时是一件非常有用的事情,因为它允许您不硬编码分割算法。

另一种选择是首先清除多个空格,然后用单个空格替换它们。之后,使用一个空格进行拆分:

re.sub(r"  +"," ", text).split(" ")

另一种选择是首先清除多个空格,然后用单个空格替换它们。之后,使用一个空格进行拆分:

re.sub(r"  +"," ", text).split(" ")
试试这个:

import re
re.split("\s*", yourInputString.strip()) # result as List
试试这个:

import re
re.split("\s*", yourInputString.strip()) # result as List


因为空间的数量vary@Shelby.S-那没关系试一试:-。拆分将考虑所有空格。这会让我的天啊。。。这真是天才!非常感谢你@谢尔比,没问题。很乐意帮忙。因为空间太大了vary@Shelby.S-那没关系试一试:-。拆分将考虑所有空格。这会让我的天啊。。。这真是天才!非常感谢你@谢尔比,没问题。很乐意帮忙。如果你能用str.split在1中完成这一切,你为什么要用这个呢?我想,如果你想确保你没有在\t或其他什么上拆分,那么你可以使用re.split'+',string_to_split,当然,在这种情况下,使用re.split'+',string_to_split会更容易一些。我同意你的看法。对于本问题中的特定目的,str.split是最合适的。但是如果你有一些其他的多字符出现,那么我的解决方案可能更一般。你是对的。。。完全忘记了重新分割。如果你能用str.split在1中完成这一切,你为什么要用这个呢?我想,如果你想确保你没有在\t或其他什么上拆分,那么你可以使用re.split'+',string_to_split,当然,在这种情况下,使用re.split'+',string_to_split会更容易一些。我同意你的看法。对于本问题中的特定目的,str.split是最合适的。但是如果你有一些其他的多字符出现,那么我的解决方案可能更一般。你是对的。。。完全忘记了重新分裂。