본문 바로가기
웹/javascript

replaceAll

by java개발자 2021. 3. 11.

방법1

var reg = new RegExp(searchText, 'g');
originalText = originalText.replace(reg, replaceText);

문제점: searchText에 역슬래시 "\" 또는 $ 등의 정규식에서 사용하는 특수기호가 들어가면 RegExp에서 에러발생

 

방법2

단순무식 while

const replaceAll = (original: string, searchText: string, replaceText: string) => {
  let resultText = original;
  let index = - 1;
  let startIndex = 0;

  index = resultText.indexOf(searchText, startIndex);
  while (index > -1) {
    resultText = resultText.substring(0, index) + replaceText + resultText.substring(index + searchText.length);
    startIndex = index + replaceText.length;
    index = resultText.indexOf(searchText, startIndex);
  }
  return resultText;
}

 

방법3

간단~

original = original.split(searchText).join(replaceText);

' > javascript' 카테고리의 다른 글

vue-chartjs - legend align is not working.  (0) 2019.11.19
fabric.js strokeWidth bug ?  (0) 2018.08.31
PWA 프로그레시브웹앱  (0) 2018.07.19
날짜 함수  (0) 2018.07.05
vue에서의 this  (0) 2018.06.13