用于在所有空白处拆分的正则表达式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是最合适的。但是如果你有一些其他的多字符出现,那么我的解决方案可能更一般。你是对的。。。完全忘记了重新分裂。