On Thu, Apr 30, 2020 at 3:21 PM Alessandro T. <taglia...@yahoo.it> wrote:
> Il 30/04/20 14:11, Marco Beri ha scritto: > > > La soluzione per te sono le regular expression: > > > > > > >>> testo = """lunghezza legno: 1000 cm > > ... peso del tronco: 34 kg > > ... tempo di lavorazione: 11 ore 57 minuti""" > > >>> testo > > 'lunghezza legno: 1000 cm\npeso del tronco: 34 kg\ntempo di > > lavorazione: 11 ore 57 minuti' > > >>> import re > > >>> re.findall(r"\s(\d+)\b\s*(\w+)", testo) > > [('1000', 'cm'), ('34', 'kg'), ('11', 'ore'), ('57', 'minuti')] > > > > > > > > Potrei consigliarti un buon testo sulle regex ma sarei in conflitto di > > interessi (e poi trovi comunque una marea di tutorial su web) :-D > > > > Ciao. > > Marco. > > > > Elegante come soluzione però incorretta perché il "tempo di lavorazione" > viene spezzato in "11 ore" e "57 min". Forse uno split() sulla singola > riga è più indicato. > Pronti! :-) >>> import re >>> testo = """lunghezza legno: 1000 cm ... peso del tronco: 34 kg ... tempo di lavorazione: 11 ore 57 minuti""" >>> re.findall(r"\s(\d+)\s*(\w+)(\s\d+\s\w+)?", testo) [('1000', 'cm', ''), ('34', 'kg', ''), ('11', 'ore', ' 57 minuti')] Ciao. Marco.
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python