>  기사  >  웹 프론트엔드  >  JavaScript에서 문자열의 모든 발생을 바꾸는 방법

JavaScript에서 문자열의 모든 발생을 바꾸는 방법

Barbara Streisand
Barbara Streisand원래의
2024-10-24 14:12:02693검색

How to Replace All Occurrences of a String in JavaScript

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.