[자바스크립트/알고리즘] 공백을 붙임표(하이픈)로 바꾸기 (정규식)
728x90

입력할 때 단어의 앞글자는 대문자로 시작, 나머지는 소문자.

출력은 모두 소문자로 변경되어야 함

 

입력: iLikeApples 

or

입력: i_Like_Apples

(두 가지 입력 모두 출력 같음)

 

출력: i-like-apples

function spinalCase(str) {
  return str.replace(/([a-z])([A-Z])/g, "$1 $2").toLowerCase().replace(/\s|_/g,"-");
}

spinalCase("iLikeApples");

 

[코드 설명]

  • str.replace(/([a-z])([A-Z])/g, "$1 $2") : 소문자 다음에 대문자가 오는 경우 그 사이(소문자와 대문자 사이)에 공백을 추가한다.
  • .toLowerCase() : 소문자로 바꾼다.
  • .replace(/\s|_/g,"-") 
    • 스페이스( \s ) 또는( | ) 기호( _ )가 오는 경우 - 로 바꾸어준다.

 

Intermediate Algorithm Scripting: Spinal Tap CasePassed

문제 출처: www.freecodecamp.org

320x100