字符串拆分特定字符

时间:2014-06-25 20:43:06

标签: python string split

我有一个类似的字符串;

'[abc] [def] [zzz]'

我怎样才能将它分成三部分:

abc
def
zzz

2 个答案:

答案 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 comprehensionstr.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()]