초급의 끄적거림

[JavaScript] replace(치환) 및 정규식 본문

프론트엔드/JavaScript

[JavaScript] replace(치환) 및 정규식

codingD 2020. 4. 23. 17:08

자바스크립트를 활용한 특정 문자의 치환


replace() 함수

str_text.replace("찾을 문자열", "변경할 문자열")
 

 

정규표현식

str_text.replace(/찾을 문자열/gi, "변경할 문자열")
  • 정해진 규칙을 사용해 모든 문자를 변환할 수도 있고 숫자만 변호나하거나 맨 처음, 맨 뒤만 변환할 수 있음
  • 슬래쉬(/) 표시 안에 넣는 텍스트의 따옴표는 없어야함
  • gi의 의미
    • g : 전체 모든 문자열 변경 (global)
    • i : 영문 대소문자를 무시, 모두 일치하는 패턴 검색 (ignore)
  • 특수 기호를 맨처음 적을 때는 항상 역슬래쉬(\) 부분이 정규식 맨 앞에 존재 해야함
str_text.replace(/\./gi, "-")
  • [] 안에 특수기호를 넣으면 하나하나 개별적으로 변환
"4asdf/.asdf/.fsdd4df".replace(/[/4.]/gi, "@"); => @asdf@@asdf@@fsdd@df
 : 대괄호 안에 들어 있는 / 과 4와 . 을 개별적으로 하나하나 변환
  • [] 없이 특수기호 여러개를 작성하면 하나의 묶음으로 인식해서 변환
"asdf/.asdf/.fsdddf".replace(/\/./gi, "@"); => asdf@asdf@fsdddf

 

정규식에서 문자가 의미하는 뜻

  • [a-z] : a ~ z 사이의 문자를 찾음
  • [abc] : a, b, c 중 하나를 찾음
  • [^abc] : a, b, c를 제외한 문자를 찾음

 

정규식을 활용한 특정 문자 제거 방법

.replace(' ','') 첫번째 공백 제거
.replace(/\-/g,'')  특정문자 제거1 (-)
.replace(/,/g,'') 특정문자 제거2(,) 
.replace(/^\s+/,'') 앞의 공백 제거
.replace(/\s+$/,'') 뒤의 공백 제거
.replace(/^\s+|\s+$/g,'') 앞뒤 공백 제거
.replace(/\s/g,'') 문자열 내의 모든 공백 제거
.replace(/\n/g,'') n개행 제거
.replace(/\r/g,'')  엔터 제거

 

Comments