특정 문자열을 변경하는 문제
1) "hello-world" → "hello_world"
2) "dogs-are-awesome" → "dogs_are_awesome"
3) "blah" → "blah"
처음에 특정 문자열을 변경하고자 하여 replace() 메소드를 사용하였다.
그렇게 하면 hello-world는 가능하지만 "dogs~"는 대시가 하나면 변경이 되어 문제가 발생하였다.
solution
function kebabToSnake(str){
var answer;
if(str.indexOf("-") !== -1) {
answer = str.replace(/-/g, '_'); //정규식을 사용하면 간단하다!
}else if(str.indexOf("_") !== -1){
answer = str.replace("_","-");
}else{
answer = str;
}
return answer;
}
console.log(kebabToSnake("hello-world-ko"));
console.log(kebabToSnake("blah"))
console.log(kebabToSnake('dogs-are-awesome'));
answer = str.replace(/-/g, '_'); ⇒ 정규식을 사용하면 간단하게 해결이 가능하다.
먼저 문자.replace(/바꾸고자하는 문자/g(글로벌), "변경되는 문자") 로 하게 되면 가능 특징은 대시 사이에서 사용하고 문자열을 위한 따옴표를 사용하지 않는다.