kzen.dev
  • Otázky
  • Značky
  • Používatelia
Oznámenia
Odmeny
Registrácia
Po registrácii budete informovaní o odpovediach a komentároch na vaše otázky.
Prihlásiť sa
Ak už máte konto, prihláste sa a skontrolujte nové oznámenia.
Za pridané otázky, odpovede a komentáre budú udelené odmeny.
Viac na
Zdroj
Upraviť
 gt565k
gt565k
Question

Rozdelenie reťazca s viacerými oddeľovačmi v jazyku Python

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]') 
427 2011-02-14T23:42:13+00:00 3
 jww
jww
Edited question 31 december 2018 в 5:54
Programovanie
python
string
split
delimiter
This question has 1 odpoveď in English, to read them log in to your account.
Solution / Answer
 Jonathan
Jonathan
14 február 2011 в 11:52
2011-02-14T23:52:24+00:00
Viac na
Zdroj
Upraviť
#11878297

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']
 Jonathan
Jonathan
Edited answer 20 september 2011 в 10:46
707
0
Artificial intelligence to parse product page
productapi.dev
 Joe
Joe
14 február 2011 в 11:47
2011-02-14T23:47:47+00:00
Viac na
Zdroj
Upraviť
#11878295

Vykonajte str.replace('; ', ', ') a potom str.split(', ')

183
0
Artificial intelligence to parse product page
productapi.dev
Jochen Ritzel
Jochen Ritzel
14 február 2011 в 11:52
2011-02-14T23:52:13+00:00
Viac na
Zdroj
Upraviť
#11878296

Takto vyzerá regex:

import re
# "semicolon or (a comma followed by a space)"
pattern = re.compile(r";|, ")

# "(semicolon or a comma) followed by a space"
pattern = re.compile(r"[;,] ")

print pattern.split(text)
27
0
Pridať otázku
Kategórie
Všetky
Technológia
Kultúra / Rekreácia
Život / Umenie
Veda
Profesionálne
Obchod
Používatelia
Všetky
New
Popular
1
Inessa bu
Registered pred mesiacom
2
Denis Babushkin
Registered pred mesiacom
3
asakuno asakuno
Registered pred mesiacom
4
aldo salerno
Registered pred mesiacom
5
Анна Батицкая
Registered pred 2 mesiacmi
Artificial intelligence to parse product page
productapi.dev
BG
DE
EL
ES
FR
ID
IT
JA
KO
NL
NO
PT
RO
RU
SK
SL
TR
UK
ZH
© kzen.dev 2023
Zdroj
stackoverflow.com
na základe licencie cc by-sa 3.0 s uvedením autora