Introducción
En Python, una cadena en formato kebab case es una cadena en la que cada palabra está separada por un guión. Por ejemplo, "hello-world" es una cadena en formato kebab case. En este desafío, tendrás la tarea de escribir una función que convierta una cadena dada al formato kebab case.
Cadena en formato kebab case
Escribe una función de Python llamada to_kebab_case(s) que tome una cadena s como entrada y devuelva la versión en formato kebab case de la cadena. La función debe realizar los siguientes pasos:
- Reemplazar cualquier
-o_con un espacio, utilizando la expresión regularr"(_|-)+". - Encontrar todas las palabras en la cadena y convertirlas a minúsculas con
str.lower(). - Combinar todas las palabras utilizando
-como separador.
from re import sub
def kebab(s):
return '-'.join(
sub(r"(\s|_|-)+"," ",
sub(r"[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+",
lambda mo: ' ' + mo.group(0).lower(), s)).split())
kebab('camelCase') ## 'camel-case'
kebab('some text') ## 'some-text'
kebab('some-mixed_string With spaces_underscores-and-hyphens')
## 'some-mixed-string-with-spaces-underscores-and-hyphens'
kebab('AllThe-small Things') ## 'all-the-small-things'
Resumen
En este desafío, aprendiste cómo convertir una cadena a formato kebab case en Python. Utilizaste re.sub() para reemplazar cualquier - o _ con un espacio, re.sub() para encontrar todas las palabras en la cadena, str.lower() para convertirlas a minúsculas y str.join() para combinar todas las palabras utilizando - como separador.