<div dir="ltr"><div dir="ltr">On Thu, Apr 30, 2020 at 3:21 PM Alessandro T. <<a href="mailto:tagliare3@yahoo.it" target="_blank">tagliare3@yahoo.it</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Il 30/04/20 14:11, Marco Beri ha scritto:<br><br>
> La soluzione per te sono le regular expression:<br>
><br>
><br>
>     >>> testo = """lunghezza legno: 1000 cm<br>
>     ... peso del tronco: 34 kg<br>
>     ... tempo di lavorazione: 11 ore 57 minuti"""<br>
>     >>> testo<br>
>     'lunghezza legno: 1000 cm\npeso del tronco: 34 kg\ntempo di<br>
>     lavorazione: 11 ore 57 minuti'<br>
>     >>> import re<br>
>     >>> re.findall(r"\s(\d+)\b\s*(\w+)", testo)<br>
>     [('1000', 'cm'), ('34', 'kg'), ('11', 'ore'), ('57', 'minuti')]<br>
><br>
><br>
><br>
> Potrei consigliarti un buon testo sulle regex ma sarei in conflitto di <br>
> interessi (e poi trovi comunque una marea di tutorial su web) :-D<br>
><br>
> Ciao.<br>
> Marco.<br>
><br>
<br>
Elegante come soluzione però incorretta perché il "tempo di lavorazione" <br>
viene spezzato in "11 ore" e "57 min". Forse uno split() sulla singola <br>
riga è più indicato.<br></blockquote><div><br></div><div>Pronti! :-)</div><div><br></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><font face="monospace">>>> import re</font></div><div class="gmail_quote"><font face="monospace">>>> testo = """lunghezza legno: 1000 cm</font></div><div class="gmail_quote"><font face="monospace">... peso del tronco: 34 kg</font></div><div class="gmail_quote"><font face="monospace">... tempo di lavorazione: 11 ore 57 minuti"""</font></div><div class="gmail_quote"><font face="monospace">>>> re.findall(r"\s(\d+)\s*(\w+)(\s\d+\s\w+)?", testo)</font></div><div class="gmail_quote"><font face="monospace">[('1000', 'cm', ''), ('34', 'kg', ''), ('11', 'ore', ' 57 minuti')]</font></div></blockquote><div class="gmail_quote"><div><br></div><div>Ciao.<br>Marco.</div><div><br></div></div></div>