|
Author: Eduardo Enriquez
Ejercicios de entrevistas: una manera rápida de encontrar palabras y contarlas con regex y python.
En esas entrevistas en plataformas onlines y por tiempo había que encontrar palabras y contarlas. No se podia utilizar ninguna libreria de analisis de lenguaje natural o NLTK. Así que rápidamente pense en regex.
import re
def findwords(string):
wordlist = re.sub("[^\w]", " ", string.lower()).split()
result = {}
for word in wordlist:
if word.isnumeric():
continue
if word not in result:
result[word] = 1
else:
result[word] += 1
return result
La primera linea busca las palabras, words \w y el texto en el que se busca se pasa a minusculas porque así se pedía, pero se puede cambiar. La función sub necesita 3 parametros, el primero es la regex, la segunda que caracter va a separar las ocurrencias encontradas y el tercero el string en el que hay que buscar las palabras. Asi que como pongo espacio, después spliteo por el e itero la lista.
Recomendaciones bienvenidas!