프로그래밍 언어/HTML,CSS,JS

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

Rateye 2021. 6. 1. 20:50
728x90
반응형
질문 : JavaScript에서 모든 문자열을 바꾸는 방법

내 JavaScript 코드에이 문자열이 있습니다.

"Test abc test test abc test test test abc test test abc"

하기:

str = str.replace('abc', '');

위의 문자열에서 abc 의 첫 번째 항목 만 제거하는 것 같습니다.

모든 항목을 어떻게 바꿀 수 있습니까?

답변

업데이트 : 가장 많이 사용되는 브라우저의 최신 버전에서 다음과 같이 replaceAll

let result = "1 abc 2 abc 3".replaceAll("abc", "xyz");
// `result` is "1 xyz 2 xyz 3"

하지만 대상 브라우저가 먼저 지원을 추가했는지 확인하려면 먼저 또는 다른 호환성 표를 사용할 수 있습니까?를 확인하십시오.

노드 및 이전 / 비 최신 브라우저와의 호환성 :

참고 : 성능이 중요한 코드에서는 다음 솔루션을 사용하지 마십시오.

간단한 리터럴 문자열에 대한 정규식의 대안으로 다음을 사용할 수 있습니다.

str = "Test abc test test abc test...".split("abc").join("");

일반적인 패턴은

str.split(search).join(replacement)

replaceAll 과 정규식을 사용하는 것보다 더 빠르지 만, 최신 브라우저에서는 더 이상 그렇지 않은 것 같습니다.

벤치 마크 : https://web.archive.org/web/20170308183046/http://jsperf.com/replace-all-vs-split-join

결론 : 성능에 중요한 사용 사례 (예 : 수백 개의 문자열 처리)가있는 경우 Regexp 메서드를 사용합니다. 그러나 대부분의 일반적인 사용 사례에서는 특수 문자에 대해 걱정할 필요가 없습니다.

출처 : https://stackoverflow.com/questions/1144783/how-to-replace-all-occurrences-of-a-string-in-javascript
728x90
반응형