我的字符串如下:
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'
...
答案 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()