.
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.