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

ベストアンサー1

幸いなことに、Python にはこれが組み込まれています :)

import re

# Regex pattern splits on substrings "; " and ", "
re.split('; |, ', string_to_split)

アップデート:

あなたのコメントに従って:

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

おすすめ記事