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

新手上路,请多包涵

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

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

示例字符串:

 "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]')

原文由 gt565k 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 476
2 个回答

幸运的是,Python 有这个内置的 :)

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

更新:

根据您的评论:

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

原文由 Jonathan Livni 发布,翻译遵循 CC BY-SA 4.0 许可协议

做一个 str.replace('; ', ', ') 然后一个 str.split(', ')

原文由 Joe 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题