일부 특수 문자와 공백이있는 문자열이 있습니다. 특수 문자를 제거 할 수는 있지만 어떻게하면 공백을 유지할 수 있습니까?영숫자와 공백을 제외한 모든 것을 제거하십시오.
var a = "dent's dc^e co cbs";
var re = /\W/g;
b = a.replace(re, '');
console.log(b);
그런 식으로 모든 것을 삭제합니다. 그리고 난 당신이 \w
와 부정 문자 클래스를 사용할 수있는 W
일부 특수 문자와 공백이있는 문자열이 있습니다. 특수 문자를 제거 할 수는 있지만 어떻게하면 공백을 유지할 수 있습니까?영숫자와 공백을 제외한 모든 것을 제거하십시오.
var a = "dent's dc^e co cbs";
var re = /\W/g;
b = a.replace(re, '');
console.log(b);
그런 식으로 모든 것을 삭제합니다. 그리고 난 당신이 \w
와 부정 문자 클래스를 사용할 수있는 W
후 (^\s)
를 추가하려고 할 때 파산 및 \s
:
var re = /[^\w ]/g;
[^\w]
당신에게의 \W
" "
은 부정 문자 클래스로, 또한 공백을 부인합니다.그래서'\ w' 다음에 리터럴 공간이 있습니까? 부정은 \ w 때문에 영숫자 문자에도 적용되지 않습니까? – 1252748
@thomas. 예, 문자 그대로의 공간입니다. 네, 부정은 영숫자에도 적용됩니다. 그리고 그것은'\ W'도 마찬가지입니다. 영숫자를 제외한 모든 문자와 일치합니다. –
@thomas. 따라서 문자와 숫자를 제외한 모든 문자가 제거됩니다. –
\w
에는 숫자가 포함되어 있지 않습니다. 이 정규 표현식을 사용하십시오 : /[^0-9A-Za-z ]/
숫자, 대문자 및 비 대문자 및 공백을 제외한 모든 문자와 일치합니다.
작동해야합니다. – Anirudha
참고 : '\ s'는 공백 만 일치하지 않으며 모든 공백 문자와 일치합니다. – Guffa