用正则表达式将字符串分割成数组?
我有一个看起来像这样的字符串:
"[segment1][segment2][segment2]"
我想把这个字符串分割成一个数组,这样我就能得到:
Array[0] = "segment1", Array[1] = "segment2", Array[2] = "segment3"
我试过用字符串的分割功能,但似乎没有完全达到我的要求。我在想有没有人能给我一些正则表达式的建议,帮我解决这个问题?
提前谢谢大家!
2 个回答
1
你可以使用 re.split()
这个函数:
subject = "[segment1][segment2][segment2]"
reobj = re.compile("[][]+")
result = reobj.split(subject.strip("[]"))
print result
这样会得到:
['segment1', 'segment2', 'segment2']
补充说明:我加了一个 .strip()
,这样可以避免结果列表的第一个和最后一个元素是空的。
4
你可以把字符串的第一个和最后一个字符去掉,然后用 ][
来分割剩下的部分:
s = "[segment1][segment2][segment2]"
s[1:-1].split('][')
输出结果
['segment1', 'segment2', 'segment2']