Преобразование строк в слага, пригодные для URL-адресов

Beginner

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

Введение

В веб-разработке часто встречаются URL-адреса, содержащие читаемые слова вместо случайных символов. Эти читаемые слова называются слагами. Слага используются для того, чтобы сделать URL-адреса более удобочитаемыми и легкими для запоминания. В этом испытании вы создадите функцию, которая преобразует строку в слаг, пригодный для использования в URL-адресе.

Строка в слаг

Напишите функцию slugify(s), которая принимает строку s в качестве аргумента и возвращает слаг. Функция должна выполнять следующие операции:

  1. Преобразовать строку в нижний регистр и удалить любые начальные или конечные пробелы.
  2. Заменить все специальные символы (то есть любой символ, который не является буквой, цифрой, пробелом, дефисом или подчеркиванием) на пустую строку.
  3. Заменить все пробелы, дефисы и подчеркивания на один дефис.
  4. Удалить любые начальные или конечные дефисы.
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'

Резюме

В этом испытании вы узнали, как создать функцию, которая преобразует строку в слаг, пригодный для использования в URL-адресе. Вы использовали методы строк и регулярные выражения для удаления специальных символов и замены пробелов, дефисов и подчеркиваний на один дефис. Завершив это испытание, вы лучше поняли, как манипулировать строками в Python.