はじめに
Web 開発では、ランダムな文字ではなく読みやすい単語を含む URL が一般的です。これらの読みやすい単語はスラッグと呼ばれます。スラッグは、URL をユーザーにとって使いやすく覚えやすくするために使用されます。このチャレンジでは、文字列を URL フレンドリーなスラッグに変換する関数を作成します。
文字列からスラッグへ
文字列 s を引数として受け取り、スラッグを返す関数 slugify(s) を作成します。この関数は次の操作を行う必要があります。
- 文字列を小文字に変換し、先頭または末尾の空白を削除します。
- すべての特殊文字(つまり、文字、数字、空白、ハイフン、またはアンダースコアでない任意の文字)を空文字列に置き換えます。
- すべての空白、ハイフン、およびアンダースコアを単一のハイフンに置き換えます。
- 先頭または末尾のハイフンを削除します。
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 で文字列を操作する方法をより深く理解することができました。