将字符串转换为对 URL 友好的 Slug

Beginner

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

简介

在网页开发中,常见的 URL 包含可读的单词而非随机字符。这些可读的单词被称为 slug。Slug 用于使 URL 对用户更友好且更易于记忆。在这个挑战中,你将创建一个函数,将字符串转换为对 URL 友好的 slug。

字符串转 Slug

编写一个函数 slugify(s),它接受一个字符串 s 作为参数并返回一个 slug。该函数应执行以下操作:

  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 友好的 slug 的函数。你使用了字符串方法和正则表达式来移除特殊字符,并将空格、连字符和下划线替换为单个连字符。通过完成这个挑战,你对如何在 Python 中操作字符串有了更好的理解。