Это должна быть очень простая задача с использованием библиотеки re
. Однако я не могу разбить свою строку на разделителях ]
и [
.Разделить на несколько разделителей без разделителя в списке
Я уже читал Splitting a string with multiple delimiters in Python, Python: Split string with multiple delimiters, и Python: How to get multiple elements inside square brackets.
Моя строка:
data = "This is a string spanning over multiple lines.
At somepoint there will be square brackets.
[like this]
And then maybe some more text.
[And another text in square brackets]"
Она должна возвращать:
['This is a string spanning over multiple lines.\nAt somepoint there will be square brackets.','like this', 'And then maybe some more text.', 'And another text in square brackets']
короткий пример попробовать:
data2 = 'A new string. [with brackets] another line [and a bracket]'
Я пробовал:
re.split(r'(\[|\])', data2)
re.split(r'([|])', data2)
Но те будут либо привести к тому, разделитель в моем результирующем списке или неверный список в целом:
['A new string. ', '[', 'with brackets', ']', ' another line ', '[', 'and a bracket', ']', '']
Результат должен быть:
['A new string.', 'with brackets', 'another line', 'and a bracket']
В качестве специального требования все символы новой строки и пробелы перед тем и после того, как разделитель должен быть удален и не будет включен в список.
Да, это более простой подход, чем группы, которые я не рекомендовал. –
Отлично работает. Как дополнение: Как удалить все символы новой строки и пробелы в конце/начале элемента? – cherrun
Хорошо. Догадаться. Использование 'strip()' для каждого элемента в списке. Еще раз спасибо. – cherrun