JavaScript - replace에 변수 넣기(RegExp 객체 사용하기)
2021. 3. 11. 15:44ㆍJavaScript
반응형
javascript에서 replace를 이용하여 해당하는 모든 문자열을 치환,제거하고자 할 때 정규식을 사용하여 활용하는 경우가 있다.
str = str.replace(/@/g,"");
위 코드는 str 문자열에서 모든 @를 제거한다.
위 @ 대신 다른 문자를 유동적으로 받고자 변수를 넣으면 제대로 동작이 안한다.
var letter = "@"
str = str.replace(/letter/g,"");
위 코드는 @대신 letter을 찾아 제거한다.
이를 해결하기 위해서 RegExp 객체를 활용한다.
해당 객체는 아래와 같이 사용된다.
let regexOne = new RegExp(pattern); // 일치하는 패턴 중 최초 등장하는 패턴 한 번만 찾음
let regexAll = new RegExp(pattern, "g"); // 모든 패턴을 찾음
let regexAllCase = new RegExp(pattern, "gi"); // 대소문자 구분 없이 모든 패턴을 찾음
따라서 아래와 같이 설정하면 변수를 받아서 replace를 적용 가능하다.
var letter = "@"
var regexAllCase = new RegExp(letter, "gi")
str = str.replace(regexAllCase,"");
반응형
'JavaScript' 카테고리의 다른 글
JavaScript - jquery 동적 추가된 태그에 이벤트 달기 (0) | 2021.03.24 |
---|---|
JavaScript - 자식창에서 부모창 다루기 (0) | 2020.08.20 |