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

1 投票
2 回答
587 浏览
提问于 2025-04-15 20:44

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

"[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']

撰写回答