Strumenti Utente

Strumenti Sito


prime_operazioni_con_le_espressioni_regolari

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
prime_operazioni_con_le_espressioni_regolari [2021/05/20 07:21]
127.0.0.1 external edit
prime_operazioni_con_le_espressioni_regolari [2021/10/29 21:23] (versione attuale)
deleteme versione precedente ripristinata (2021/06/02 20:16)
Linea 1: Linea 1:
 ====== Prime operazioni con le espressioni regolari ====== ====== Prime operazioni con le espressioni regolari ======
-<code python 1>+<code python espressioni.py>
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
  
 import re import re
-import nltk 
  
-frase=u"Se c'è qualcuno, p. es. un nativo di Creta, che dice di mentire, quel qualcuno sta mentendo. Parola di mentitore." +frase="Se c'è qualcuno, p. es. un nativo di Creta, che dice di mentire, quel qualcuno sta mentendo. Parola di mentitore." 
-print frase+print(frase)
  
 frase=re.sub("'","' ", frase) frase=re.sub("'","' ", frase)
-print frase+print(frase)
  
 frase=re.sub("[,;:]{1}"," \g<0>", frase) frase=re.sub("[,;:]{1}"," \g<0>", frase)
-print frase+print(frase)
  
 frase=re.sub("\.\s[A-Z]{1}"," \g<0>", frase) frase=re.sub("\.\s[A-Z]{1}"," \g<0>", frase)
-print frase+print(frase)
  
 frase=frase.lower() frase=frase.lower()
-print frase+print(frase)
  
 frase=frase.split() frase=frase.split()
-print frase +print(frase)
- +
-fd=nltk.FreqDist(frase+
-fd.plot()+
  
 </code> </code>
Linea 31: Linea 27:
 ---- ----
 Operazioni analoghe possono essere applicate a un testo letto da un file. La r. 6 taglia i primi caratteri del testo, che rappresentano il frontespizio dell'edizione informatica utilizzata. La r. 8 separa una serie di interpunti dalla parola precedente. La r. 9 separa un punto dal carattere precedente a patto che questo non sia un altro punto (in questo modo i tre punti non vengono separati). Operazioni analoghe possono essere applicate a un testo letto da un file. La r. 6 taglia i primi caratteri del testo, che rappresentano il frontespizio dell'edizione informatica utilizzata. La r. 8 separa una serie di interpunti dalla parola precedente. La r. 9 separa un punto dal carattere precedente a patto che questo non sia un altro punto (in questo modo i tre punti non vengono separati).
-<code python > +<code python da_testo_a_lista.py>
-import codecs+
 import re import re
-import nltk += open('testi/collodi_pinocchio.txt', mode='r', encoding='iso-8859-1'
-file=codecs.open('Testi/collodi_pinocchio.txt', encoding='iso-8859-1', mode='r')+testo f.read()
 testo=file.read() testo=file.read()
-testo=testo[1758:]+testo=testo[1704:]
 testo=re.sub("'","' ", testo) testo=re.sub("'","' ", testo)
 testo=re.sub('[,;:\-?!]{1}',' \g<0>',testo) testo=re.sub('[,;:\-?!]{1}',' \g<0>',testo)
Linea 43: Linea 38:
 testo=testo.lower() testo=testo.lower()
 testo=testo.split() testo=testo.split()
-fd=nltk.FreqDist(testo) 
-fd.plot(50) 
 </code> </code>
  
Linea 50: Linea 43:
 ---- ----
  
-Con le istruzioni seguenti gli interpunti vengono eliminati anziché considerati come parole grafiche. +Con le istruzioni seguenti gli interpunti vengono eliminati anziché essere considerati come parole grafiche. 
-<code python 1> +<code python>
-import codecs+
 import re import re
-import nltk += open('testi/collodi_pinocchio.txt', mode='r', encoding='iso-8859-1')  
-file=codecs.open('Testi/collodi_pinocchio.txt', encoding='iso-8859-1', mode='r') +testo = f.read() 
-testo=file.read() +testo=testo[1704:]
-testo=testo[1758:]+
 testo=re.sub("'","' ", testo) testo=re.sub("'","' ", testo)
 testo=re.sub('[\.,;:\-?!]{1}','',testo) testo=re.sub('[\.,;:\-?!]{1}','',testo)
 testo=testo.lower() testo=testo.lower()
 testo=testo.split() testo=testo.split()
-fd=nltk.FreqDist(testo) 
-fd.plot(50) 
 </code> </code>
  
Linea 72: Linea 61:
 Per far sì che solo le maiuscole precedute da punto e spazio vengano convertite in minuscole occorre definire una funzione (qui denominata toLowercase): Per far sì che solo le maiuscole precedute da punto e spazio vengano convertite in minuscole occorre definire una funzione (qui denominata toLowercase):
  
-<code python 1>+<code python>
 import re import re
-import nltk 
  
 def toLowercase(matchobj): def toLowercase(matchobj):
     return matchobj.group(0).lower()     return matchobj.group(0).lower()
  
-frase=u"Se c'è qualcuno, p. es. un nativo di Creta, che dice di mentire, quel qualcuno sta mentendo. Parola di mentitore." +frase="Se c'è qualcuno, p. es. un nativo di Creta, che dice di mentire, quel qualcuno sta mentendo. Parola di mentitore." 
-print frase+print(frase)
  
 frase=re.sub("'","' ", frase) frase=re.sub("'","' ", frase)
-print frase+print(frase)
  
 frase=re.sub("[,;:]{1}"," \g<0>", frase) frase=re.sub("[,;:]{1}"," \g<0>", frase)
-print frase+print(frase)
  
 frase=re.sub("\.\s[A-Z]{1}"," \g<0>", frase) frase=re.sub("\.\s[A-Z]{1}"," \g<0>", frase)
-print frase+print(frase)
  
 frase=re.sub("\.\s[A-Z]{1}", toLowercase, frase) frase=re.sub("\.\s[A-Z]{1}", toLowercase, frase)
-print frase+print(frase)
  
 frase=frase.split() frase=frase.split()
-print frase +print(frase)
- +
-fd=nltk.FreqDist(frase+
-fd.plot()+
  
-frase_bis=u"Se c'è qualcuno, p.es. Epimenide, che dice di mentire, quel qualcuno sta mentendo. Parola di mentitore."+frase_bis="Se c'è qualcuno, p.es. Epimenide, che dice di mentire, quel qualcuno sta mentendo. Parola di mentitore."
  
 </code> </code>
prime_operazioni_con_le_espressioni_regolari.1621495275.txt.gz · Ultima modifica: 2021/05/20 07:21 da 127.0.0.1