我有一个这样的字符串:拆分Python中的字符串)和空间后
'srv1(compA1 compA2) srv2(compA3 compA2) srv3(comp4 comp5)'
我需要像这样分割:
['srv1(compA1 compA2)', 'srv2(compA3 compA2)', 'srv3(comp4 comp5)' ]
我试图通过空间分割,但它分裂COMP1 COMP2的内部串...
我有一个这样的字符串:拆分Python中的字符串)和空间后
'srv1(compA1 compA2) srv2(compA3 compA2) srv3(comp4 comp5)'
我需要像这样分割:
['srv1(compA1 compA2)', 'srv2(compA3 compA2)', 'srv3(comp4 comp5)' ]
我试图通过空间分割,但它分裂COMP1 COMP2的内部串...
In [9]: import re
In [10]: string = 'srv1(compA1 compA2) srv2(compA3 compA2) srv3(comp4 comp5)'
In [11]: re.split(r'(?<=\)) ', string)
Out[11]: ['srv1(compA1 compA2)', 'srv2(compA3 compA2)', 'srv3(comp4 comp5)']
感谢它完美的作品 – 2014-09-22 10:19:48
简单,你可以试试这个方法
a='srv1(compA1 compA2) srv2(compA3 compA2) srv3(comp4 comp5)'
print a.replace(' s','###s').split('###')
#output
['srv1(compA1 compA2)', 'srv2(compA3 compA2)', 'srv3(comp4 comp5)']
,或者您可以使用regular expression
你可能分裂上“)”,然后添加“)”回到这样的:
line = 'srv1(compA1 compA2) srv2(compA3 compA2) srv3(comp4 comp5)'
[e if e.endswith(')') else e + ')' for e in line.split(') ')]
['srv1(compA1 compA2)', 'srv2(compA3 compA2)', 'srv3(comp4 comp5)']
这是一个有点难看,但它的工作原理。
结帐['re.split'](https://docs.python.org/2/library/re.html#re.split) – GP89 2014-09-22 10:10:35