.
Solución al Ejercicio: Reemplazar pronombres
📋 Copiar código
import re
def reemplazar_pronombres(texto):
"""
Reemplaza todos los pronombres personales en español por "[PRONOMBRE]".
Args:
texto: La cadena de texto en español de entrada.
Returns:
Una nueva cadena con todos los pronombres personales reemplazados.
"""
pronombres = r"\b(yo|tú|usted|él|ella|ello|nosotros|nosotras|vosotros|vosotras|ustedes|ellos|ellas)\b"
return re.sub(pronombres, "[PRONOMBRE]", texto, flags=re.IGNORECASE)
# Ejemplos de uso
texto1 = "Yo fui con él y ella. Tú también viniste."
resultado1 = reemplazar_pronombres(texto1)
print(f"'{texto1}' con pronombres reemplazados: '{resultado1}'")
texto2 = "Nosotros no sabíamos que ustedes y ellos vendrían."
resultado2 = reemplazar_pronombres(texto2)
print(f"'{texto2}' con pronombres reemplazados: '{resultado2}'")
texto3 = "Ella dijo que todo depende de ti."
resultado3 = reemplazar_pronombres(texto3)
print(f"'{texto3}' con pronombres reemplazados: '{resultado3}'")
texto4 = "A veces uno piensa demasiado. Usted es muy amable."
resultado4 = reemplazar_pronombres(texto4)
print(f"'{texto4}' con pronombres reemplazados: '{resultado4}'")
texto5 = "Ellos, ellas y usted son los responsables."
resultado5 = reemplazar_pronombres(texto5)
print(f"'{texto5}' con pronombres reemplazados: '{resultado5}'")
texto6 = ""
resultado6 = reemplazar_pronombres(texto6)
print(f"'' con pronombres reemplazados: '{resultado6}'")
Explicación del Código:
-
import re:
- Importa el módulo
re para
trabajar con expresiones regulares.
-
def
reemplazar_pronombres(texto)::
- Define una función llamada
reemplazar_pronombres que toma una cadena de texto (texto)
como entrada.
-
pronombres =
r"\b(yo|tú|usted|él|ella|ello|nosotros|nosotras|vosotros|vosotras|ustedes|ellos|ellas)\b":
- Define una expresión regular
pronombres que busca todas las formas de los pronombres
personales en español:
\b: Asegura que se
coincida con palabras completas.
(...): Crea un grupo
de captura que contiene todas las posibles formas de los pronombres
separadas por | (OR).
(?i) en el re.sub
hará que la coincidencia no distinga entre mayúsculas y minúsculas.
-
return re.sub(pronombres,
"[PRONOMBRE]", texto, flags=re.IGNORECASE):
- Utiliza
re.sub() para buscar
todas las ocurrencias del patrón pronombres en el
texto, ignorando la capitalización (flags=re.IGNORECASE),
y reemplazarlas con la cadena "[PRONOMBRE]".
Ejemplos de Uso:
Los ejemplos muestran cómo la función reemplaza
todas las formas de los pronombres personales en el texto por "[PRONOMBRE]", sin
importar si están en mayúsculas o minúsculas.