Na internete som našiel niekoľko odpovedí, ale nemám žiadne skúsenosti s regulárnymi výrazmi, ktoré sú tu podľa mňa potrebné.
Mám reťazec, ktorý treba rozdeliť buď ';' alebo ', ' To znamená, že musí byť buď stredník, alebo čiarka, za ktorou nasleduje medzera. Jednotlivé čiarky bez koncovej medzery by mali zostať nedotknuté
Príklad reťazca:
"b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]"
by mal byť rozdelený na zoznam obsahujúci:
('b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3]' , 'mesitylene [000108-67-8]', 'polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]')
Našťastie má Python túto funkciu zabudovanú :)
import re
re.split('; |, ',str)
Aktualizácia:
Na základe vášho komentára:
>>> a='Beautiful, is; better*than\nugly'
>>> import re
>>> re.split('; |, |\*|\n',a)
['Beautiful', 'is', 'better', 'than', 'ugly']