URL 친화적인 슬러그로 문자열 변환하기

Beginner

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

소개

웹 개발에서, 무작위 문자 대신 읽기 쉬운 단어를 포함하는 URL 을 갖는 것은 흔한 일입니다. 이러한 읽기 쉬운 단어를 슬러그 (slug) 라고 합니다. 슬러그는 URL 을 사용자 친화적으로 만들고 기억하기 쉽게 하기 위해 사용됩니다. 이 챌린지에서는 문자열을 URL 친화적인 슬러그로 변환하는 함수를 만들 것입니다.

문자열을 슬러그로 변환하기

문자열 s를 인수로 받아 슬러그를 반환하는 함수 slugify(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 친화적인 슬러그로 변환하는 함수를 만드는 방법을 배웠습니다. 문자열 메서드와 정규 표현식 (regular expression) 을 사용하여 특수 문자를 제거하고 공백, 하이픈 및 밑줄을 단일 하이픈으로 대체했습니다. 이 챌린지를 완료함으로써 Python 에서 문자열을 조작하는 방법에 대한 더 나은 이해를 얻었습니다.