Convertir cadenas de texto en slugs amigables para la URL

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En el desarrollo web, es común tener URLs que contengan palabras legibles en lugar de caracteres aleatorios. Estas palabras legibles se llaman slugs. Los slugs se utilizan para hacer que las URLs sean más amigables para el usuario y más fáciles de recordar. En este desafío, crearás una función que convierte una cadena de texto en un slug amigable para la URL.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/AdvancedTopicsGroup(["Advanced Topics"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") python/AdvancedTopicsGroup -.-> python/regular_expressions("Regular Expressions") subgraph Lab Skills python/comments -.-> lab-13715{{"Convertir cadenas de texto en slugs amigables para la URL"}} python/lists -.-> lab-13715{{"Convertir cadenas de texto en slugs amigables para la URL"}} python/tuples -.-> lab-13715{{"Convertir cadenas de texto en slugs amigables para la URL"}} python/function_definition -.-> lab-13715{{"Convertir cadenas de texto en slugs amigables para la URL"}} python/importing_modules -.-> lab-13715{{"Convertir cadenas de texto en slugs amigables para la URL"}} python/standard_libraries -.-> lab-13715{{"Convertir cadenas de texto en slugs amigables para la URL"}} python/regular_expressions -.-> lab-13715{{"Convertir cadenas de texto en slugs amigables para la URL"}} end

Cadena de texto a slug

Escribe una función slugify(s) que tome una cadena de texto s como argumento y devuelva un slug. La función debe realizar las siguientes operaciones:

  1. Convertir la cadena de texto a minúsculas y eliminar cualquier espacio en blanco al principio o al final.
  2. Reemplazar todos los caracteres especiales (es decir, cualquier carácter que no sea una letra, un dígito, un espacio en blanco, un guión o un subrayado) por una cadena de texto vacía.
  3. Reemplazar todos los espacios en blanco, guiones y subrayados por un solo guión.
  4. Eliminar cualquier guión al principio o al final.
import re

def slugify(s):
  s = s.lower().strip()
  s = re.sub(r'[^\w\s-]', '', s)
  s = re.sub(r'[\s_-]+', '-', s)
  s = re.sub(r'^-+|-+$', '', s)
  return s
slugify('Hello World!') ## 'hello-world'

Resumen

En este desafío, aprendiste cómo crear una función que convierte una cadena de texto en un slug amigable para la URL. Utilizaste métodos de cadenas y expresiones regulares para eliminar los caracteres especiales y reemplazar los espacios en blanco, los guiones y los subrayados con un solo guión. Al completar este desafío, has adquirido una mejor comprensión de cómo manipular cadenas de texto en Python.