Lio*_*cer 1 python string split
我有一个这种格式的字符串
a = "[a,b,c],[e,d,f],[g,h,i]"
Run Code Online (Sandbox Code Playgroud)
我要拆分的每个部分都是分开的],[.我尝试了a.split("],["),我删除了末端括号.
在我的例子中,这将是:
["[a,b,c","e,d,f","g,h,i]"]
Run Code Online (Sandbox Code Playgroud)
我想知道在拆分后是否有办法保留括号?
期望的结果:
["[a,b,c]","[e,d,f]","[g,h,i]"]
Run Code Online (Sandbox Code Playgroud)
问题是str.split从结果列表中删除您分割的任何子字符串.我认为在这种情况下使用模块中稍微强大的split功能会更好re:
>>> from re import split
>>> a = "[a,b,c],[e,d,f],[g,h,i]"
>>> split(r'(?<=\]),(?=\[)', a)
['[a,b,c]', '[e,d,f]', '[g,h,i]']
>>>
Run Code Online (Sandbox Code Playgroud)
(?<=\])是一个寻找的后视断言].同样,(?=\[)是一个寻找的先行断言[.这两种结构都在正则表达式语法中进行了解释.