2010-03-23 59 views
1

我有一个字符串,它看起来像这样:将字符串分为数组,正则表达式?

"[segment1][segment2][segment2]" 

我想是能够将字符串分割成一个数组,所以我结束了:

Array[0] = "segment1", Array[1] = "segment2", Array[2] = "segment3" 

我试过使用字符串拆分功能,但它似乎并没有做到我想要的。我想知道是否有人有一些正则表达式可以帮助我?

在此先感谢

回答

4

你可以采取的字符串切片没有第一和最后一个字符,然后劈在][

s = "[segment1][segment2][segment2]" 
s[1:-1].split('][') 

输出

['segment1', 'segment2', 'segment2'] 
+0

此外,每添Pietzcker的回答,您可以使用单曲.strip('[]')。split('] [')',使用'.strip()'而不是片段'[1:-1]'。 – Isaac 2010-03-23 13:14:08

1

您可以使用re.split()功能:

subject = "[segment1][segment2][segment2]" 
reobj = re.compile("[][]+") 
result = reobj.split(subject.strip("[]")) 
print result 

为您提供:

['segment1', 'segment2', 'segment2'] 

编辑:增加了一个.strip()避免的一个空的第一个和最后一个元素结果列表。

相关问题