在逗号的第二次出现时拆分一个字符串

时间:2017-08-10 19:32:43

标签: python arrays string

我的字符串如下:

Str=S1('amm','string'),S2('amm_sec','string'),S3('amm_','string')

如何拆分字符串以使我的str_list项成为:

Str_List[0]=S1('amm','string')
Str_List[1]=S2('amm_sec','string') 
...

如果我使用Str.split(','),则输出为:

Str_List[0]=S1('amm'
...

2 个答案:

答案 0 :(得分:1)

你可以在python中使用正则表达式re

import re
Str = "S1('amm','string'),S2('amm_sec','string'),S3('amm_','string')"
lst = re.findall("S\d\(.*?\)", Str)

这会给你:

["S1('amm','string')", "S2('amm_sec','string')", "S3('amm_','string')"]

再解释一下正则表达式:

S首先匹配'S'

\d接下来查找数字

\(然后是'('字符

.*?中间有任意数量的字符(但尽可能少匹配)

\)后跟最后一个')'字符

您可以再使用正则表达式here

答案 1 :(得分:0)

我的第一个想法是使用正则表达式替换',S' ' S'并使用空格分割。

import re
Str = re.sub(',S',' S',Str)
Str_list = Str.split()