我有一个表格形式的命令输出。我正在分析结果文件的输出并将其存储在字符串中。一行中的每个元素都由一个或多个空格字符分隔,因此我使用正则表达式来匹配一个或多个空格并将其拆分。但是,在每个元素之间插入一个空格:
>>> str1="a b c d" # spaces are irregular
>>> str1
'a b c d'
>>> str2=re.split("( )+", str1)
>>> str2
['a', ' ', 'b', ' ', 'c', ' ', 'd'] # 1 space element between!!!
有更好的办法吗?
每次拆分后str2
都会附加到列表中。
当使用
re.split
并且分割模式包含捕获组时,这些组将保留在输出中。如果不需要,请使用非捕获组。str.split
方法将自动删除项之间的所有空白:文件在这里:http://docs.python.org/library/stdtypes.html#str.split
通过使用
(
,)
,可以捕获组,如果简单地删除它们,就不会有这个问题。但是不需要regex,
str.split
如果没有指定任何分隔符,则会为您用空格分隔。在这种情况下,这是最好的办法。如果您真的需要regex,可以使用这个(
'\s'
表示空白,而且更清楚):或者可以找到所有非空白字符
相关问题 更多 >
编程相关推荐