Introduction
Dans ce laboratoire, nous allons plonger dans le monde de la programmation JavaScript pour apprendre à convertir une chaîne de caractères donnée en snake case. Nous utiliserons des expressions régulières et diverses méthodes d'itération telles que map(), slice() et join() pour découper la chaîne et la reconstruire avec des tirets bas comme séparateurs. À la fin de ce laboratoire, vous aurez une bonne compréhension de la manière de manipuler les chaînes de caractères en JavaScript et d'appliquer ces concepts à d'autres projets de programmation.
Fonction pour convertir une chaîne en snake case
Pour convertir une chaîne en snake case, utilisez la fonction suivante :
const toSnakeCase = (str) => {
if (!str) return "";
const regex =
/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g;
return str
.match(regex)
.map((x) => x.toLowerCase())
.join("_");
};
Cette fonction utilise String.prototype.match() pour découper la chaîne en mots en utilisant une expression régulière appropriée. Ensuite, elle utilise Array.prototype.map(), Array.prototype.slice(), Array.prototype.join() et String.prototype.toLowerCase() pour combiner les mots, en ajoutant _ comme séparateur.
Utilisation exemple :
toSnakeCase("camelCase"); // 'camel_case'
toSnakeCase("some text"); //'some_text'
toSnakeCase("some-mixed_string With spaces_underscores-and-hyphens");
//'some_mixed_string_with_spaces_underscores_and_hyphens'
toSnakeCase("AllThe-small Things"); // 'all_the_small_things'
toSnakeCase("IAmEditingSomeXMLAndHTML");
// 'i_am_editing_some_xml_and_html'
Sommaire
Félicitations ! Vous avez terminé le laboratoire sur la chaîne en snake case. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.