python - 如何根据字符串中的两个字符 "["和 "]"进行拆分

标签 python python-3.x split

例如,在下面调用 .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]

另外,括号里删除的部分如何保存,谢谢。在两个事物中分割未知字符串是很困难的:/

最佳答案

使用re.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"""
>>> [i.strip() for i in re.split(r'[\[\]]', x) if i]

# ['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"]

关于python - 如何根据字符串中的两个字符 "["和 "]"进行拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50402656/

相关文章:

python - 如何使用sox重新采样和正确连接wav文件?

linux - 使用 python 将文本文件中的文件列表复制到文件夹中

python-3.x - 模块未找到错误: No module named 'orangecontrib'

c# - 从字符串中提取数字

在两个数组中查找唯一元素索引的 Pythonic 方法

python - JSON 的嵌套序列化

vim - 如何从一个拆分中复制并粘贴到byobu中?

将一组对象分成一定数量的组的算法?

python - 向灰度图像添加颜色叠加

python - 如果条件为真并且仅返回某些列,如何有条件地比较一个数据帧中的值并匹配第二个数据帧中的值?