Solución al Ejercicio: Extraer menciones de personas
📋 Copiar código
import re
def extraer_menciones_mayusculas(texto):
"""
Extrae palabras que comienzan con una letra mayúscula
seguida de una o más letras de un texto en español.
Args:
texto: La cadena de texto de entrada en español.
Returns:
Una lista de palabras que comienzan con mayúscula.
"""
menciones = re.findall(r'\b[A-Z][a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]+\b', texto)
return menciones
# Ejemplos de uso
texto1 = "Hola soy Juan y ella es María."
resultado1 = extraer_menciones_mayusculas(texto1)
print(f"Menciones con mayúscula en '{texto1}': {resultado1}")
texto2 = "El Rey Felipe VI visitó Madrid."
resultado2 = extraer_menciones_mayusculas(texto2)
print(f"Menciones con mayúscula en '{texto2}': {resultado2}")
texto3 = "La profesora Ana Gómez explicó el tema."
resultado3 = extraer_menciones_mayusculas(texto3)
print(f"Menciones con mayúscula en '{texto3}': {resultado3}")
texto4 = "TEXTO EN MAYÚSCULAS."
resultado4 = extraer_menciones_mayusculas(texto4)
print(f"Menciones con mayúscula en '{texto4}': {resultado4}")
texto5 = "palabra en minúsculas."
resultado5 = extraer_menciones_mayusculas(texto5)
print(f"Menciones con mayúscula en '{texto5}': {resultado5}")
texto6 = "Número 123 y símbolo $."
resultado6 = extraer_menciones_mayusculas(texto6)
print(f"Menciones con mayúscula en '{texto6}': {resultado6}")
texto7 = ""
resultado7 = extraer_menciones_mayusculas(texto7)
print(f"Menciones con mayúscula en '': {resultado7}")
texto8 = "Un nombre compuesto como José Luis."
resultado8 = extraer_menciones_mayusculas(texto8)
print(f"Menciones con mayúscula en '{texto8}': {resultado8}")
Explicación del Código:
-
Importa el módulo re
:
Se utiliza para trabajar con expresiones regulares.
-
Función
extraer_menciones_mayusculas(texto)
:
re.findall(r'\b[A-Z][a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]+\b',
texto)
: Utiliza re.findall()
para encontrar todas
las coincidencias del patrón en el texto. El patrón busca:
\b
: Un límite de
palabra para asegurar que coincida con palabras completas.
[A-Z]
: Una letra
mayúscula del alfabeto inglés.
[a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]+
:
Una o más letras (minúsculas o mayúsculas) del alfabeto español
(incluyendo acentos y la 'ñ').
\b
: Otro límite de
palabra.
- La función devuelve una lista de todas
las cadenas que coinciden con este patrón, que se consideran posibles
menciones de personas según esta regla simple.
Ejemplos de Uso:
Los ejemplos muestran cómo la función extrae
palabras que comienzan con mayúscula y están seguidas de más letras. Ten en
cuenta que esta es una simplificación y puede incluir palabras que no son
nombres de personas (como la primera palabra de una oración). Para una
identificación más precisa de nombres de personas, se requerirían técnicas de
procesamiento de lenguaje natural más avanzadas (como el reconocimiento de
entidades nombradas).