fbpx

Cum să scoți numerele de telefon dintr-un fișier text

0

Limbajul Python este un limbaj de programare cu care poți face multe lucruri utile. Singura limită este imaginația. În acest articol vom vorbi puțin despre Regular Expressions în Python și vom face o aplicație scurtă la acesta.

Regular Expressions (sau RegEx mai pe scurt) este un șir de caractere care formează un tipar sau un model. Este deja pre-instalat în Python și putem să o importăm cu import re .

Exemplu:

import re

s = "Faptul ca nu intelegi codul scris in tutorial si il copiezi orbeste ma nelinisteste teribil"
x = re.search("^Faptul.*teribil$", txt)

Secvența de cod vede dacă șirul începe cu Faptul și se termină cu teribil.

Alte funcții din librăria re:

Funcție Ce face
findall intoarce o listă care conține toate potrivirile
compile Compilează  un tipar regex (definit de noi) intr-un object pe care il putem folosi pentru a căuta alte tipare în șir
split întoarce o listă unde șirul a fost tăiat la fiecare potrivire
search Întoarce un obiect dacă este o potrivire oriunde în șir
sub Întoarce una sau mai multe potriviri cu un șir

Există și metacaractere care ne ajută să scurtăm codul și să ne ușureze astfel munca. Pentru numerele de telefon vom folosi /d  care întoarce un șir cu toate cifrele de la 0 la 9. Numerele de telefon românești au 10 cifre, dar numerele de telefon din alte țări au mai multe sau mai puține. Unele au și codul specific regiunii (asta va fi tema pt acasă!!!). Ne vom folosi doar de funcția findall (pentru a găsi nu doar un număr de telefon, ci toate numerele de telefon). Pentru a crea tiparul regex tot ce trebuie să scriem va fi r’\d\d\d\d\d\d\d\d\d\d’  deoarece avem 10 cifre vom folosi de 10 ori /d.

Codul:

import re

text = 'Ma poti gasi la numarul personal de telefon 0784352355 sau numarul companiei 0765234081.'


for i in re.findall(r'\d\d\d\d\d\d\d\d\d\d' , text):
   print (i)

 

Comentarii
Se incarca comentariile...

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More