在Python中拆分字符串,并在

在Python中拆分字符串,并在,python,jython,Python,Jython,我有一根这样的线: 'srv1(compA1 compA2) srv2(compA3 compA2) srv3(comp4 comp5)' 我需要像这样拆分它: ['srv1(compA1 compA2)', 'srv2(compA3 compA2)', 'srv3(comp4 comp5)' ] 我试图按空格分割它,但它在[9]:import re中分割了comp1 comp2的内部字符串… In [9]: import re In [10]: string = 'srv1(compA1

我有一根这样的线:

'srv1(compA1 compA2) srv2(compA3 compA2) srv3(comp4 comp5)'
我需要像这样拆分它:

['srv1(compA1 compA2)', 'srv2(compA3 compA2)', 'srv3(comp4 comp5)' ]
我试图按空格分割它,但它在[9]:import re中分割了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)']
在[10]中:字符串='srv1(COMP1 COMP2)srv2(COMP3 COMP2)srv3(comp4 comp5)' [11]中:重新拆分(r’(?
In[9]:导入重新
在[10]中:字符串='srv1(COMP1 COMP2)srv2(COMP3 COMP2)srv3(comp4 comp5)'
[11]中:重新拆分(r’(?
In[9]:导入重新
在[10]中:字符串='srv1(COMP1 COMP2)srv2(COMP3 COMP2)srv3(comp4 comp5)'
[11]中:重新拆分(r’(?
In[9]:导入重新
在[10]中:字符串='srv1(COMP1 COMP2)srv2(COMP3 COMP2)srv3(comp4 comp5)'

在[11]:re.split(r’(?)中,您可以简单地用这种方法进行尝试

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)']

或者您可以使用
正则表达式

,只要您可以这样尝试

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)']

或者您可以使用
正则表达式

,只要您可以这样尝试

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)']

或者您可以使用
正则表达式

,只要您可以这样尝试

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)']
或者您可以使用
正则表达式

您可以在“')上拆分,然后将“')添加回,如下所示:

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)']
这有点难看,但它可以工作。

您可以在“')上拆分,然后像这样重新添加“'):

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)']
这有点难看,但它可以工作。

您可以在“')上拆分,然后像这样重新添加“'):

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)']
这有点难看,但它可以工作。

您可以在“')上拆分,然后像这样重新添加“'):

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)']
虽然有点难看,但它很管用。

结帐