将字符串分割成数组,正则表达式?

时间:2010-03-23 12:38:32

标签: python regex

我有一个看起来像这样的字符串:

"[segment1][segment2][segment2]"

我想要的是能够将字符串拆分成数组,所以我最终得到:

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

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

提前致谢

2 个答案:

答案 0 :(得分:4)

你可以在没有第一个和最后一个字符的情况下获取字符串的片段,然后在][上分割:

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

输出

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

答案 1 :(得分:1)

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

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

给你:

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

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