[Python] (senza oggetto)

Marco Beri marcoberi a gmail.com
Dom 3 Maggio 2020 20:43:46 CEST


On Sun, May 3, 2020 at 3:40 PM Gollum1 <gollum1.smeagol1 a gmail.com> wrote:

> Il giorno gio 30 apr 2020 alle ore 15:35 Marco Beri
> <marcoberi a gmail.com> ha scritto:
>
> > >>> 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')]
>
> Grande Marco,
> ormai ci metti le regexp ovunque... non per niente ci hai scritto  un
> bellissimo libro... :.P
>
> questo tuo modo, avrebbe il vantaggio che si trova nelle varie tuple i
> valori e le grandezze...
> però non sarebbe possibile fare le tuple con i campi necessari? per
> esempio, eliminare il campo vuoto nelle prime due, e separare
> uletriormente la terza in '57' , "minuti"?
>

No, evitare i gruppi vuoti che io sappia non si può (però puoi ignorarli
facilmente da Python.
Questa divide in due gruppi la terza:

\s(\d+)\s*(\w+)(?:\s(\d+)\s(\w+))?


import re
testo = """lunghezza legno: 1000 cm
peso del tronco: 34 kg
tempo di lavorazione: 11 ore 57 minuti"""
print(re.findall(r"\s(\d+)\s*(\w+)(?:\s(\d+)\s(\w+))?", testo))


[('1000', 'cm', '', ''), ('34', 'kg', '', ''), ('11', 'ore', '57',
'minuti')]




Ciao.
Marco.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20200503/b7fafa72/attachment.html>


Maggiori informazioni sulla lista Python