Разделение Python на основе строки между двумя символами - PullRequest
0 голосов
/ 14 мая 2018

Как разделить на основе двух символов "[" & "]" в строке. Например, вызов .split () в следующем случае даст ...

x = "[Chorus: Rihanna & Swizz Beatz]
I just wanted you to know
...more lyrics
[Verse 2: Kanye West & Swizz Beatz]
I be Puerto Rican day parade floatin'
... more lyrics"

x.split()
print(x)

даст

["I just wanted you to know ... more lyrics", " be Puerto Rican day parade floatin' ... more lyrics]

Это отличается от дубликата тем, что он не разделяется по нескольким разделителям, а разделяется по тексту, заключенному в скобки, когда текст не обязательно известен ...

1 Ответ

0 голосов
/ 14 мая 2018

Вы можете использовать re.split("[\[\]]", x)

Используя Regex:

import re
x = """[Chorus: Rihanna & Swizz Beatz]
I just wanted you to know
...more lyrics
[Verse 2: Kanye West & Swizz Beatz]
I be Puerto Rican day parade floatin'
... more lyrics"""

print(filter(None,re.split("[\[\]]", x)[::2]))

Выход:

['\nI just wanted you to know\n...more lyrics\n', "\nI be Puerto Rican day parade floatin'\n... more lyrics"]
...