Forum » Programiranje » Python separiranje besed v stavkih
Python separiranje besed v stavkih
Meizu ::
Mater ma me heca.
Se trudim narest sledeče, pa mi ne uspe:
Imam en string stavek npr.:
'"Danes sije sonce" (234) {dfkg} lalala-lala-lalala'
Kako bi skonstruiral kodo, ki bi mi ven pobrala le "Danes sije sonce" (le da v končni obliki brez narekovajev), ter lalala-lala-lalala?
Bolj kot ramišljam, manj mi je jasno. (btw, koda mora delovat za različne stavke, in vedno mora pobrat tisto, kar je v narekovajih, ter tisto, kar se prične po zadnjem tabulatorju v vrstici)
Se trudim narest sledeče, pa mi ne uspe:
Imam en string stavek npr.:
'"Danes sije sonce" (234) {dfkg} lalala-lala-lalala'
Kako bi skonstruiral kodo, ki bi mi ven pobrala le "Danes sije sonce" (le da v končni obliki brez narekovajev), ter lalala-lala-lalala?
Bolj kot ramišljam, manj mi je jasno. (btw, koda mora delovat za različne stavke, in vedno mora pobrat tisto, kar je v narekovajih, ter tisto, kar se prične po zadnjem tabulatorju v vrstici)
ta-mau ::
Morda pregledaš regularne izraze..
Za izluščit kar je med narekovaji npr.:
Kar pomeni najdi mi znak " in ponavljajoč poljuben niz, ki se zaključi z ".
Za izluščit kar je med narekovaji npr.:
"(.*)"
Kar pomeni najdi mi znak " in ponavljajoč poljuben niz, ki se zaključi z ".
MrBrdo ::
bolj pravilno bi bilo
ali ce podpira .*? namesto .*
ker mislim da je .* naceloma greedy in se ti lahko zgodi da matcha npr. "lalala"lalala" skupaj.
"([^"]*)"
ali ce podpira .*? namesto .*
ker mislim da je .* naceloma greedy in se ti lahko zgodi da matcha npr. "lalala"lalala" skupaj.
MrBrdo
morbo ::
koda mora delovat za različne stavke, in vedno mora pobrat tisto, kar je v narekovajih, ter tisto, kar se prične po zadnjem tabulatorju v vrstici)
Tole dela pod pogojem da so nevednice vedno prvi znak v nizu in da niz vedno vsebuje tabulator (torej ne le presledek). Ni pa izredno berljivo :)
s = '"Danes sije sonce" (234) {dfkg} lalala-lala-lalala' s = (s[s.find('"')+1:s.find('"',1)], s[s.rfind("\t")+1:])
Spura ::
Ce je string z narekovaji vedno prisoten, pa string za tabulatorjem tudi, potem je regex
"([^"]*+)".*?\t([^\t]*)$
"([^"]*+)".*?\t([^\t]*)$
Zgodovina sprememb…
- spremenil: Spura ()
MrBrdo ::
Spura in v cem je smisel dati []*+? Ali to sploh deluje... Dva quantifierja (*+) eden za drugim.
MrBrdo
Spura ::
Sej *? sta tudi dva quantifierja, kao. Ubistvu je takole. ?, +, *, {x,y} so quantifieryi in so greedy, ce dodas ? dobis reluctant quantifierye ??, +?, *? in {x,y}? ki matchajo cimkrajsi string, ce pa dodas + dobis pa possessive quantifier ?+, ++, *+, {x,y}+, ki ne backtracka. V tem primeru sem ga uporabil, da bi regex hitreje deloval.
strictom ::
Nekdo pa ni naloge nardil :)
"Violence is the last refuge of the incompetent" - Salvor Hardin
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Python napaka: IndentationError: unindent does not match any outer indentation levelOddelek: Programiranje | 779 (709) | jan_g |
» | PHP - stringiOddelek: Izdelava spletišč | 1779 (1602) | pehape |
» | [C++] Preverjanje ce je program dos ali win32Oddelek: Programiranje | 1402 (1058) | BigWhale |
» | [php]: preprost problem in preg_replace()Oddelek: Izdelava spletišč | 1130 (1068) | R33D3M33R |
» | [C++] Stack corrupted? Memory allocation f****p?Oddelek: Programiranje | 1369 (1136) | BigWhale |