【发布时间】:2013-04-26 04:48:02
【问题描述】:
我想用 ':' 和 ' ' 字符分割字符串。但是,我想忽略两个空格“”和两个冒号“::”。例如
text = "s:11011 i:11010 ::110011 :110010 d:11000"
应该拆分成
[s,11011,i,11010,:,110011, ,110010,d,11000]
在遵循 python 网站上的正则表达式 HOWTO 之后,我设法想出了以下内容
regx= re.compile('([\s:]|[^\s\s]|[^::])')
regx.split(text)
但是,这并没有按预期工作,因为它在 : 和空格上拆分,但它仍然在拆分中包含 ':' 和 ' '。
[s,:,11011, ,i,:,11010, ,:,:,110011, , :,110010, ,d,:,11000]
我该如何解决这个问题?
编辑:如果是双倍空格,我只希望出现一个空格
【问题讨论】:
-
如果您想避免双倍空格,为什么您提供的列表中有空格作为预期输出?你也只是在寻找一个正则表达式的答案吗?
-
对不起,我的意思是在双倍空格的情况下,我只希望出现一个空格。并且没有解决方案不必是正则表达式答案
-
这个模式看起来像 ((\s?).(:)[0-1]+)*---> 拆分组 1 和组 2