2010-06-07 74 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]]", "");