jineecode

replace 잘 활용하기. 본문

JS

replace 잘 활용하기.

지니코딩 2021. 9. 3. 15:34

'2021-09-01 수요일'을

2021 09 03 금요일 으로 바꾸기

 

 

더보기

내가 쓴 더러운 코드

 

 const solarDate = '2021-09-01 수요일'
    
 let solarArray = solarDate.split("-");
 let lunarArray = lunarDate.split("-");
    
 $(".solar").text(
    `${solarArray[0]}년 ${solarArray[1]}월 
    ${solarArray[2].substring(0, 2)}일 
    ${solarArray[2].substring(2)}`
);

 

너무 더럽다! 너무 신입스럽다!!!!

 

중첩 메소드를 사용해보자.

const solarDate = '2021-09-01 수요일'

 $(".solar").text(
   `${solarDate.replace(" ", "일 ").replace("-", "년 ").replace("-", "월 ")}`
 );

 

정규식을 이용한 방법

const solarDate = '2021-09-01 수요일'

let chars = {'-' : '년 ', '-': '월 ', ' ': '일 '};
solarDate.replace(/(-|-| )/g, m => chars[m]);

구문:

var newStr = str.replace(regexp|substr, newSubstr|function)

 

매개변수:

regexp (pattern)정규식(RegExp) 객체 또는 리터럴. 일치하는 항목은 newSubStr 또는 지정된 함수(function)가 반환 한 값으로 대체됩니다.

 

chars['-']을 확인해보면, "월 "이 나오는 것을 확인할 수 있다.

정규식에 통과한 '-' 이 매개변수 m에 대입되어 치환되는 것! 

 

 

'JS' 카테고리의 다른 글

arrow function  (0) 2021.10.19
this  (0) 2021.10.19
textarea backspace 방지 코드  (0) 2021.07.12
달력  (0) 2021.07.09
byte 제한 검증  (0) 2021.07.08
Comments