Сегментировать строку в массив, регулярное выражение? - PullRequest
1 голос
/ 23 марта 2010

У меня есть строка, которая выглядит следующим образом:

"[segment1][segment2][segment2]"

Мне бы хотелось, чтобы можно было разбить строку на массив, и в итоге я получу:

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

Я пытался использовать функцию разделения строк, но, похоже, она не выполняет то, что я хочу. Мне было интересно, есть ли у кого-нибудь регулярное выражение, которое может мне помочь?

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 23 марта 2010

Вы можете взять фрагмент строки без первого и последнего символов, а затем разделить на ][:

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

выходы

['segment1', 'segment2', 'segment2']
1 голос
/ 23 марта 2010

Вы можете использовать функцию re.split():

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

дает вам:

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

Редактировать: добавлен .strip(), чтобы избежать пустого первого и последнего элемента в результирующем списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...