Convertendo Strings para Snake Case com JavaScript

Beginner

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

Introdução

Neste laboratório, vamos mergulhar no mundo da programação JavaScript para aprender como converter uma string dada em snake case. Usaremos expressões regulares e vários métodos de array, como map(), slice() e join(), para decompor a string e reconstruí-la com underscores como separadores. Ao final deste laboratório, você terá uma boa compreensão de como manipular strings em JavaScript e aplicar esses conceitos a outros projetos de programação.

Função para Converter String para Snake Case

Para converter uma string para snake case, use a seguinte função:

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("_");
};

Esta função usa String.prototype.match() para quebrar a string em palavras usando uma expressão regular apropriada. Em seguida, ela usa Array.prototype.map(), Array.prototype.slice(), Array.prototype.join() e String.prototype.toLowerCase() para combinar as palavras, adicionando _ como um separador.

Exemplo de uso:

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'

Resumo

Parabéns! Você concluiu o laboratório de Snakecase String. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.