JavaScript 를 사용하여 문자열을 Snake Case 로 변환하기

Beginner

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

소개

이 랩에서는 주어진 문자열을 snake case 로 변환하는 방법을 배우기 위해 JavaScript 프로그래밍 세계를 탐구합니다. 정규 표현식과 map(), slice(), join()과 같은 다양한 배열 메서드를 사용하여 문자열을 분해하고 밑줄을 구분 기호로 사용하여 재구성합니다. 이 랩이 끝나면 JavaScript 에서 문자열을 조작하고 이러한 개념을 다른 프로그래밍 프로젝트에 적용하는 방법에 대한 훌륭한 이해를 갖게 될 것입니다.

문자열을 Snake Case 로 변환하는 함수

문자열을 snake case 로 변환하려면 다음 함수를 사용하십시오.

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

이 함수는 적절한 정규 표현식을 사용하여 문자열을 단어로 분해하기 위해 String.prototype.match()를 사용합니다. 그런 다음 Array.prototype.map(), Array.prototype.slice(), Array.prototype.join(), 그리고 String.prototype.toLowerCase()를 사용하여 단어를 결합하고 _를 구분 기호로 추가합니다.

사용 예시:

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'

요약

축하합니다! Snakecase String 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.