Dada una string con letras separadas por espacios, camello o serpiente, la tarea es encontrar el kebab de la siguiente string.
Por ejemplo :
Input: Geeks For Geeks Output: geeks-for-geeks Input: GeeksForGeeks Output: geeks-for-geeks Input: Geeks_for_geeks Output: geeks-for-geeks
Esto se puede lograr de las siguientes maneras:
Enfoque 1: usando el método de reemplazo
Aquí tenemos una función llamada kebabCase que toma una string y devuelve una string después de convertir el caso de kebab. Aquí estamos usando el método de reemplazo dos veces porque el primer método de reemplazo es obtener todas las letras que están cerca de las letras mayúsculas y reemplazarlas con un guión. Y la segunda función de reemplazo se usa para obtener los espacios y guiones bajos y reemplazarlos con un guión.
Javascript
<script> const kebabCase = string => string .replace(/([a-z])([A-Z])/g, "$1-$2") .replace(/[\s_]+/g, '-') .toLowerCase(); console.log(kebabCase('Geeks For Geeks')); console.log(kebabCase('GeeksForGeeks')); console.log(kebabCase('Geeks_For_Geeks')); </script>
Producción:
geeks-for-geeks geeks-for-geeks geeks-for-geeks
Enfoque 2: utilizando el método de coincidencia
Aquí, usamos el método del mapa que verifica el espacio, las letras mayúsculas y los guiones bajos. Crea una array y empuja las palabras que separan las strings. Ahora únase a la array con el guión usando el join(). Después de eso, convierta toda la string en minúsculas.
Javascript
<script> const kebabCase = str => str .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g) .join('-') .toLowerCase(); console.log(kebabCase('Geeks For Geeks')); console.log(kebabCase('GeeksForGeeks')); console.log(kebabCase('Geeks_For_Geeks')); </script>
Producción:
geeks-for-geeks geeks-for-geeks geeks-for-geeks
Publicación traducida automáticamente
Artículo escrito por _saurabh_jaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA