У меня есть строка, которая выглядит так:
"[segment1][segment2][segment2]"
Я хотел бы иметь возможность разделить строку на массив, поэтому в итоге получим:
Array[0] = "segment1", Array[1] = "segment2", Array[2] = "segment3"
Я пробовал использовать функцию разделения строк, но, похоже, это не то, что я хочу. Мне было интересно, есть ли у кого-нибудь регулярное выражение, которое может помочь мне?
Заранее спасибо
Вы можете взять срез строки без первого и последнего символов, а затем разделить на ][
:
s = "[segment1][segment2][segment2]"
s[1:-1].split('][')
выходы
['segment1', 'segment2', 'segment2']
Вы можете использовать функцию re.split()
:
subject = "[segment1][segment2][segment2]"
reobj = re.compile("[][]+")
result = reobj.split(subject.strip("[]"))
print result
дает вам:
['segment1', 'segment2', 'segment2']
Изменить: добавлен .strip()
, чтобы избежать пустого первого и последнего элементов результирующего списка.
s.strip('[]').split('][')
, используя.strip()
вместо слайса[1:-1]
.