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




자바스크립트 특수문자 제거 (6)

이?

str = str.replace(/\s/g, '');

var str = '/var/www/site/Brand new document.docx';

document.write( str.replace(/\s/g, '') );

업데이트 : 이 질문을 기반으로 :

str = str.replace(/\s+/g, '');

더 나은 해결책입니다. 동일한 결과를 산출하지만 속도는 더 빠릅니다.

정규식

\s 는 "공백"에 대한 정규 표현식이고 g 는 ALL \s (공백 문자)와 일치하는 "전역"플래그입니다.

+ 대한 좋은 설명은 여기 에서 찾을 수 있습니다 .

보조 노트로 작은 따옴표 사이의 내용을 원하는 것으로 바꿀 수 있으므로 공백을 다른 문자열로 바꿀 수 있습니다.

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

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

감사


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

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

이 일을하는 두 가지 방법!


  var output = '/var/www/site/Brand new document.docx'.replace(/ /g, ""); 
    or
  var output = '/var/www/site/Brand new document.docx'.replace(/ /gi,"");

참고 : 공백을 제거하는 데 'g'또는 'gi'를 사용하더라도 모두 동일하게 작동합니다.

replace 함수에서 'g'를 사용하면 정확한 일치를 검사합니다. 우리가 'gi'를 사용하면 대소 문자 구분을 무시합니다.

참고로 여기를 클릭하십시오 .


@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('');







text