Solución al Ejercicio: Extraer hashtags
📋 Copiar código
import re
def intercambiar_case(texto):
"""
Invierte la capitalización de cada letra en una cadena de texto.
Args:
texto: Cadena de texto de entrada.
Returns:
Una nueva cadena con las mayúsculas convertidas en minúsculas y viceversa.
"""
return texto.swapcase()
def extraer_hashtags(texto):
"""
Extrae todos los hashtags de una cadena de texto.
Args:
texto: La cadena de texto de entrada.
Returns:
Una lista de todos los hashtags encontrados en el texto.
"""
hashtags = re.findall(r"#[\w]+", texto)
return hashtags
# Ejemplos de uso
textos = [
"Aprendiendo #Python es #genial y #divertido.",
"Este texto no tiene hashtags.",
"#un #dos #tres #cuatro",
"El precio es #123 y la oferta termina #hoy.",
"Esto tiene un #hashtag_con_guion_bajo.",
"Sin el símbolo #",
"# con espacio"
]
for i, texto in enumerate(textos, 1):
resultado = extraer_hashtags(texto)
print(f"Hashtags en texto{i}: {resultado}")
Explicación del Código:
-
Importa el módulo re
:
Se utiliza para trabajar con expresiones regulares.
-
Función extraer_hashtags(texto)
:
- Utiliza la función
re.findall(patrón, cadena)
para encontrar todas las coincidencias
del patrón
en la cadena
de texto.
- El patrón de la expresión regular
r"#[\w]+"
se define de la siguiente manera:
#
: Coincide
literalmente con el símbolo de hashtag.
[\w]+
: Coincide con
uno o más (+
) caracteres de "palabra" (\w
).
Un carácter de palabra incluye letras (mayúsculas y minúsculas),
números y el guion bajo (_
).
- La función
re.findall()
devuelve una lista de todas las subcadenas que coinciden con el patrón
(en este caso, todos los hashtags encontrados).
Ejemplos de Uso:
Los ejemplos muestran cómo la función extrae los
hashtags presentes en diferentes cadenas de texto. Se incluyen casos con
múltiples hashtags, hashtags con números y guiones bajos, y casos sin hashtags o
con el símbolo #
pero sin caracteres de palabra a continuación. Los
hashtags que tienen un espacio después del #
no se consideran
válidos según este patrón.