2013-07-03 64 views
1

我有一個字符串,有一些特殊的字符和空格。我可以刪除特殊字符,但是我怎樣才能讓它保留空格?刪除一切,但字母數字和空格

var a = "dent's dc^e co cbs"; 

var re = /\W/g; 

b = a.replace(re, ''); 

console.log(b); 

它的方式,它只是刪除所有東西。它打破了,當我嘗試W

+0

that should work .. – Anirudha

+0

注意:'\ s'不僅僅匹配空格,它匹配所有空格字符。 – Guffa

回答

3

後添加(^\s)您可以使用否定的字符類\w\s

var re = /[^\w ]/g; 
  • ​​讓你爲\W
  • 加成的效果相同否定字符類中的空白空間" "也會消除空間。
+0

所以這是'\ w'之後的文字空間?這種否定是否也適用於字母數字字符以及\ w? – 1252748

+0

@thomas。是的,這是一個文字空間。是的,否定也適用於字母數字字符。這也是'\ W'所做的。它匹配除字母數字字符以外的所有內容。 –

+0

@thomas。所以這將刪除除字母數字字符和空格以外的所有內容。 –

0

\w不包含數字。使用這個正則表達式:/[^0-9A-Za-z ]/ 它匹配除數字,大寫和非大寫字母以及空格之外的所有字符。

相關問題