我正在尝试使用regex.replace删除不需要的字符,但我需要考虑空格:
string asdf = "doésn't work?";
string regie = @"([{}\(\)\^$&._%#!@=<>:;,~`'\’ \*\?\/\+\|\[\\\\]|\]|\-)";
Response.Write(Regex.Replace(asdf,regie,"").Replace(" ","-"));
返回doésntwork而不是doésnt-work
想法?
谢谢!
答案 0 :(得分:6)
您的正则表达式包含一个空格,因此在调用string.Replace
之前空格会被删除。
string regie = @"([{}\(\)\^$&._%#!@=<>:;,~`'\’ \*\?\/\+\|\[\\\\]|\]|\-)";
^ here
从正则表达式中删除它,您的代码应该按预期执行:
string regie = @"([{}\(\)\^$&._%#!@=<>:;,~`'\’\*\?\/\+\|\[\\\\]|\]|\-)";
答案 1 :(得分:0)
你的正则表达式中有一个空格,就在这里:\’ \*
。