javascript - 특정문자 - 자바스크립트 특수문자 제거




자바 스크립트를 사용하여 문자열에서 공백을 제거하는 방법? (5)

문자열에서 공백을 제거하는 방법? 예를 들면 :

입력 : '/var/www/site/Brand new document.docx'
출력 : '/var/www/site/Brandnewdocument.docx'

감사


@rsplak 대답에 따라 : 실제로, 분할 / 조인 방식을 사용하는 것이 regexp를 사용하는 것보다 빠릅니다. 성능 테스트 사례보기

그래서

var result = text.split(' ').join('')

보다 빠르게 작동합니다.

var result = text.replace(/\s+/g, '')

작은 텍스트의 경우 이와 관련이 없지만 특히 텍스트 분석자, 특히 사용자와 상호 작용할 때와 같이 시간이 중요한 경우에 중요합니다.

반면, \s+ 는 더 다양한 종류의 공백 문자를 처리합니다. \n\t\u00a0 문자와도 일치하며,   textDomNode.nodeValue 사용하여 텍스트를 textDomNode.nodeValue 때 설정됩니다.

그래서 여기에 결론을 다음과 같이 만들 수 있다고 생각합니다 : 당신이 단지 공백 을 대체 할 필요가 있다면, split / join을 사용하십시오. 기호 클래스 의 다른 기호가있을 수있는 경우 - replace(/\s+/g, '')


당신은 이것을 사용해 볼 수 있습니다 :

input.split(' ').join('');

가장 짧고 빠른 : str.replace str.replace(/ /g, '');

기준:

내 결과 - (2018.07.13) Chrome 67.0.3396 (64 비트), Safari 11.0.3 (13604.5.6), Firefox 59.0.2 (64 비트)의 MacOs High Sierra 10.13.3 :

모든 브라우저에서 가장 빠른 솔루션은 / /g (regexp1a) - Chrome 17.7M (작업 / 초), Safari 10.1M, Firefox 8.8M입니다. 모든 브라우저에서 가장 느린 것은 split-join 솔루션입니다. 변화 to \s 또는 regexp에 + 또는 i 를 추가하면 처리 속도가 느려집니다.

귀하의 컴퓨터에서 실행할 수 있습니다 : https://jsperf.com/remove-string-spaces


var a = b = " /var/www/site/Brand new   document.docx ";

console.log( a.split(' ').join('') );
console.log( b.replace( /\s/g, '') ); 

이 일을하는 두 가지 방법!






text