Расщепление в питоне
Строка в следующем формате.
A1:::x1:::B1.A2:::x2::x3::x4:::B2.A3:::x5::x6::x7:::B3.
Выход после расщепления должен быть
['x1:::B1', 'x2::x3::x4:::B2', 'x5::x6::x7:::B3']
Замечания:
- А, х отделен
:::
- x1,x2....xn разделены
::
- х,B отделяется
:::
- B,A отделяется
.
1 ответ
Решение
Мне кажется, что вы хотите разделить сначала .
(удаление пустых записей) затем разделить один раз на :::
сохраняя только второй элемент. В коде это выглядит так:
s = 'A1:::x1:::B1.A2:::x2::x3::x4:::B2.A3:::x5::x6::x7:::B3.'
slist = (substr for substr in s.split('.') if substr)
result = [x.split(":::",1)[1] for x in slist]
Как отмечено в комментариях, мы можем сформулировать это более кратко:
result = [x.split(":::",1)[1] for x in s.split('.') if x]