답변:
시험 .replace(/ /g,"_");
편집 : 또는 .split(' ').join('_')
RE에 대한 혐오가있는 경우
편집 : 존 Resig는 말했다 :
정적 검색 및 정적 바꾸기로 문자열을 검색하고 바꾸는 경우 .split ( "match"). join ( "replace")으로 작업을 수행하는 것이 더 빠릅니다. 이는 직관적이지 않은 것처럼 보이지만 작동합니다. 대부분의 최신 브라우저에서 그렇게합니다. 다음 버전의 Firefox에서는 .replace (/ match / g, "replace")의 성능을 크게 향상시키기 위해 변경 사항이 있으므로 이전 진술은 오랫동안 적용되지 않습니다.
/ /g
사용하는 /\ /g
자바 스크립트에서 모두 작업 -. 후자는 CoffeeScript에서도 작동합니다.
.replace(/ /g,"_");
보다 빠릅니다 .split(' ').join('_')
.
나는 그것을 위해 JS 성능 테스트를 만들었습니다 : http://jsperf.com/split-and-join-vs-replace2
나는 이것이 오래되었다는 것을 알고 있지만 String 확장을 언급하는 사람은 없습니다 prototype
.
String.prototype.replaceAll = function(search, replace){
if(!search || !replace){return this;} //if search entry or replace entry empty return the string
return this.replace(new RegExp('[' + search + ']', 'g'), replace); //global RegEx search for all instances ("g") of your search entry and replace them all.
};