1

这是我的代码:

print apps_version
apps_version = re.sub("\s+"," ",apps_version)
print apps_version
apps_version = apps_version.splitlines()

这就是发生的事情:

backend    10.2.25
server   12.6.4.6
backend 10.2.25 server 12.6.4.6

它确实用单个空格替换了空格,但它也从行尾删除了换行符。我通过用 | 替换空格来解决它 字符并使用它来拆分行,但是有人可以解释为什么替换空格会删除换行符吗?提前致谢。

4

1 回答 1

4

引用文档

\s

UNICODE未指定标志时,它匹配任何空白字符,这相当于 set [ \t\n\r\f\v]。该LOCALE标志对空间的匹配没有额外的影响。如果UNICODE设置,这将匹配字符[ \t\n\r\f\v]加上 Unicode 字符属性数据库中分类为空格的任何内容。

\s不仅匹配空格(ASCII 32),它还将匹配水平制表符、换行符回车符、换页符和垂直制表符。如果您启用标志,甚至更多。UNICODE

如果空间是您所关心的,那么r' +'这就是您所需要的。

于 2013-03-20T09:49:12.480 回答