一尘不染

在Python中使用多个分隔符分割字符串

python

我在网上找到了一些答案,但是我没有使用正则表达式的经验,我相信这里是需要的。

我有一个字符串,需要用“;”分隔 或','也就是说,它必须是分号或逗号后跟一个空格。没有尾随空格的单个逗号应保持不变

示例字符串:

"b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]"

应该拆分为包含以下内容的列表:

('b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3]' , 'mesitylene [000108-67-8]', 'polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]') 

阅读 465

收藏
2020-02-12

共1个答案

一尘不染

幸运的是,Python内置了:)

import re
re.split('; |, ',str)

更新:
在你的评论之后:

>>> a='Beautiful, is; better*than\nugly'
>>> import re
>>> re.split('; |, |\*|\n',a)
['Beautiful', 'is', 'better', 'than', 'ugly']
2020-02-12