我有一个类似的字符串;
'[abc] [def] [zzz]'
我怎样才能将它分成三部分:
abc
def
zzz
答案 0 :(得分:3)
您可以使用re.findall
:
>>> from re import findall
>>> findall('\[([^\]]*)\]', '[abc] [def] [zzz]')
['abc', 'def', 'zzz']
>>>
上面使用的所有Regex语法都在链接中进行了解释,但这里有一个快速细分:
\[ # [
( # The start of a capture group
[^\]]* # Zero or more characters that are not ]
) # The end of the capture group
\] # ]
对于那些想要非正则表达式解决方案的人,您可以随时使用list comprehension和str.split
:
>>> [x[1:-1] for x in '[abc] [def] [zzz]'.split()]
['abc', 'def', 'zzz']
>>>
[1:-1]
剥去x
每端的方括号。
答案 1 :(得分:0)
另一种方式:
s = '[abc] [def] [zzz]'
s = [i.strip('[]') for i in s.split()]