Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 문자열을 카멜 케이스(Camel Case)로 변환하는 방법 – 공백까지 한 번에 제거

카멜 케이스(camelCase)는 여러 단어로 이루어진 문자열에서 첫 번째 단어의 첫 글자만 소문자로 표기하고, 나머지 단어들의 첫 글자는 대문자로 표기하며 모든 공백을 제거하는 명명 규칙입니다. 예를 들어 "Add two variables"라는 문장은 addTwoVariables로 변환됩니다.

JavaScript에서는 정규식과 replace() 메서드를 조합하면 어떤 문자열이든 간단하게 카멜 케이스로 변환할 수 있습니다.

변환 코드 예제

function convertStringToCamelCase(sentence) {
    return sentence.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g,
    function(camelCaseMatch, i) {
        if (+camelCaseMatch === 0)
            return "";
        return i === 0 ? camelCaseMatch.toLowerCase() :
        camelCaseMatch.toUpperCase();
    });
}
console.log(convertStringToCamelCase("Add two variables"));

코드 동작 원리

위 코드에서 사용된 정규식 /(?:^\w|[A-Z]|\b\w|\s+)/g는 다음과 같은 요소들을 매칭합니다.

^\w : 문자열의 맨 앞에 오는 첫 글자
[A-Z] : 이미 대문자인 알파벳
\b\w : 단어 경계 뒤에 오는 첫 글자
\s+ : 하나 이상의 공백 문자

매칭된 값 중 공백(+camelCaseMatch === 0)은 빈 문자열로 치환되어 제거되고, 인덱스가 0인 첫 글자는 소문자로, 그 외의 글자는 대문자로 변환됩니다.

프로그램 실행 방법

Node.js 환경에서 위 프로그램을 실행하려면 아래 명령어를 입력합니다.

node fileName.js

여기서는 파일 이름이 demo104.js라고 가정합니다.

실행 결과

프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo104.js
addTwoVariables

입력 문자열의 공백이 모두 제거되고, 각 단어의 첫 글자가 올바르게 대문자로 변환되어 카멜 케이스 형태의 결과가 출력되는 것을 확인할 수 있습니다.