Convertir les chaînes de caractères en slugs compatibles avec les URL

Beginner

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

Introduction

En développement web, il est courant d'avoir des URL qui contiennent des mots lisibles au lieu de caractères aléatoires. Ces mots lisibles sont appelés slugs. Les slugs sont utilisés pour rendre les URL plus conviviales pour l'utilisateur et plus faciles à retenir. Dans ce défi, vous devrez créer une fonction qui convertit une chaîne de caractères en un slug compatible avec les URL.

String to Slug

Écrivez une fonction slugify(s) qui prend une chaîne de caractères s en argument et renvoie un slug. La fonction doit effectuer les opérations suivantes :

  1. Convertir la chaîne en minuscules et supprimer tout espace blanc en début ou en fin de chaîne.
  2. Remplacer tous les caractères spéciaux (c'est-à-dire tout caractère qui n'est pas une lettre, un chiffre, un espace blanc, un tiret ou un tiret bas) par une chaîne vide.
  3. Remplacer tous les espaces blancs, tirets et tirets bas par un seul tiret.
  4. Supprimer tout tiret en début ou en fin de chaîne.
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'

Summary

Dans ce défi, vous avez appris à créer une fonction qui convertit une chaîne de caractères en un slug compatible avec les URL. Vous avez utilisé des méthodes de chaîne de caractères et des expressions régulières pour supprimer les caractères spéciaux et remplacer les espaces blancs, les tirets et les tirets bas par un seul tiret. En complétant ce défi, vous avez acquis une meilleure compréhension de la manière de manipuler les chaînes de caractères en Python.