Ciao,
sono abbastanza nuovo di Python e delle Regex e, per una piccola applicazione che avrei in mente di realizzare per esercitarmi ho bisogno di aiuto in quanto non riesco a capire l'errore (se c'è).
Ciò che deve fare l'applicazione è prendere in input del testo (una stringa) di codici come l'esempio: "OD1323,OB1242 TH32; OF2321"
si tratta di termini, non in ordine, in formato alfanumerico, di lunghezza diversa e separate con punteggiatura diversa o spazi (ovviamente questo è il caso peggiore: non voglio vincolare l'input ad uno schema di immissione ben preciso).
Ciò che deve fare il programma è riordinare alfabeticamente la sequenza e stamparla con i termini separati da un operatore a scelta dell'utente (spazio, virgole, punti).
L'applicazione è abbastanza banale e per quanto riguarda l'elaborazione dei dati e l'output sono abbastanza sicuro. mi sono bloccato nella scansione della stringa, per la quale pensavo di utilizzare una regex.
il codice a cui sono arrivato al momento è il seguente:
codice:
>>> import re
>>> stringa = "OD1323,OB1242 TH32; OF2321"
>>> result = re.findall(r'\b\w*\b',stringa)
>>> print result
['OD1323', '', 'OB1242', '', 'TH32', '', 'OF2321', '']
come si può notare la lista di output fornisce il risultato sperato. tuttavia vorrei eliminare i risultati '' che non capisco da dove vengano fuori...
ho provato a cercare una soluzione con le regex ma senza successo. ho provato anche con list.remove() ma non riconosce il carattere: ''.
grazie mille per l'aiuto.
ciao!