문제:
JavaScript에 내장된 바꾸기( ) 메서드를 사용하여 하위 문자열을 바꾸면 다음 예에서 볼 수 있듯이 첫 번째 항목만 대체됩니다.
<code class="javascript">var string = "Test abc test test abc test test test abc test test abc"; string = string.replace('abc', ''); // Only replaces the first 'abc' occurrence</code>
JavaScript에서 하위 문자열의 모든 항목을 어떻게 바꿀 수 있습니까?
해결 방법:
최신 브라우저:
최신 브라우저는 String.replaceAll() 메서드를 지원합니다. 모든 하위 문자열 항목을 지정된 대체 항목으로 바꿉니다:
<code class="javascript">string = string.replaceAll('abc', ''); // Replaces all 'abc' occurrences</code>
사용자 정의 함수:
이전 또는 레거시 브라우저의 경우 String.replaceAll()을 지원하지 않는 브라우저에서는 사용자 정의 함수를 사용할 수 있습니다:
<code class="javascript">function replaceAll(str, find, replace) { return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); } function escapeRegExp(str) { return str.replace(/[.*+?^${}()|[\]\]/g, '\$&'); }</code>
사용법:
<code class="javascript">console.log(replaceAll(string, 'abc', '')); // Replaces all 'abc' occurrences</code>
참고:
위 내용은 JavaScript에서 특정 문자열의 모든 인스턴스를 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!