자바스크립트에서 문자 변환 치환을 할 경우 replace() 함수를 사용합니다. replace() 함수는 정규표현식을 사용할 수 있어 매우 편리합니다.

일반적인 정규식을 적용한 replace()함수의 모습은 아래와 같습니다.


! 간단한 정규표현식의 replace() 함수
str.replace(/web/g, 'free');

web이라는 텍스트 모두를 free로 변경하는 정규표현식을 적용한 replace() 함수입니다.

만약 복잡한 문자 변환이 필요한 경우... 어떻게 하는 것이 효과적일까요 정규표현식을 많이 사용하는 방법등이 필요한 경우 이는 효과적이지 않습니다. 이때 replace()에서 찾은 결과를 함수를 추가하여 사용할 수 있습니다. 아래 예제를 봐주세요.

만약 정규표현식이 myRegExp 변수에 있다면 아래처럼 일치하는 패턴을 함수를 사용하여 처리, 변환할 수 있습니다.


# 자바스크립트 replace() 일치 문자열에 함수 적용하기

아래 예제를 봐주세요.
str.replace(myRegexp, function(key, value, full) {
  var result = key + "web";
  return result:
})
위 예제는 해당하는 key와 web이라는 텍스트를 모두 추가한 매우 이상한 예제이지만 이처럼 함수를 사용하여 원하는 것을 구현할 수 있다는 것입니다.

또한 일치하는 패턴의 모든 문자열에 각기 다른 코드를 적용할 수도 있습니다. 이처럼 replace()에 함수를 사용하면 복잡한 문자 변환을 더 쉽게 가능하게 합니다.