2010-06-07 73 views
3

非字母數字字符我有這樣的說法:刪除不包括空格

String cap = Regex.Replace(winCaption, @"[^\w\[email protected]]", ""); 

是轉變"Hello | World!?""HelloWorld"

但是我想保留空格字符,例如:"Hello | World!?""Hello  World"

我該怎麼做?

+0

「Hello」和「World」之間有一個還是兩個空格? – scherand 2010-06-07 12:20:05

回答

4

只需添加一個空格,以你的字符集,[^ \ W @ - ]

var winCaption = "Hello | World!?"; 
String cap = Regex.Replace(winCaption, @"[^\w\[email protected]\- ]", ""); 

請注意,你必須逃離「衝刺」字符( - ),因爲它通常被用來表示字符範圍(例如,[A-ZA-Z0-9])

+0

我嘗試了,但是我有這個錯誤: 按相反的順序解析「[^ \ w \ .-]」 - [x-y]範圍。 – CeccoCQ 2010-06-07 12:19:45

+0

對不起,完美無缺!謝謝詹姆斯! – CeccoCQ 2010-06-07 12:21:34

1

在這裏你去...

string cap = Regex.Replace(winCaption, @"[^\w \[email protected]]", "");