JavaScript에서 여러 번 나타나는 문자열 바꾸기
JavaScript에서 여러 번 나타나는 문자열을 바꿔야 할 수도 있지만 표준은 string.replace() 메소드는 첫 번째 인스턴스만 제거합니다. 모든 항목이 대체되도록 어떻게 보장할 수 있습니까?
최신 솔루션(ES2021 )
이제 최신 브라우저는 String.replaceAll() 메서드를 지원합니다. 문자열의 모든 인스턴스. 다음 구문을 사용하면 됩니다.
<code class="js">string = string.replaceAll('abc', '');</code>
이전 브라우저를 위한 레거시 솔루션
이전 브라우저의 경우 g(전역) 플래그와 함께 정규식을 사용할 수 있습니다.
<code class="js">function replaceAll(str, find, replace) { return str.replace(new RegExp(find, 'g'), replace); }</code>
특수 문자 이스케이프
정규 표현식에는 특수 문자가 포함되어 있으므로 find 인수에 변수를 전달할 때 주의하세요. 모든 특수 문자를 안전하게 이스케이프하려면 escapeRegExp() 함수를 사용하십시오.
<code class="js">function escapeRegExp(str) { return str.replace(/[.*+?^${}()|[\]\]/g, '\$&'); }</code>
따라서 업데이트된 replacementAll() 함수는 다음과 같습니다.
<code class="js">function replaceAll(str, find, replace) { return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); }</code>
이 솔루션은 지정된 문자열의 모든 발생을 보장합니다. 브라우저 호환성에도 불구하고 대체됩니다.
위 내용은 JavaScript에서 문자열의 모든 발생을 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!