C# 特殊字符的正则表达式
我试图在字符串上做一个正则表达式替换,但并不像我希望的那样顺利。我从一个在线工具中构建了这个正则表达式,测试结果与我的预期相符,但是当我运行代码时,我没有得到预期的结果 我的代码:C# 特殊字符的正则表达式,c#,regex,C#,Regex,我试图在字符串上做一个正则表达式替换,但并不像我希望的那样顺利。我从一个在线工具中构建了这个正则表达式,测试结果与我的预期相符,但是当我运行代码时,我没有得到预期的结果 我的代码: Regex reg = new Regex(@"[^a-zA-Z0-9-]$"); string docName = t.Title.ToLower(); reg.Replace(docName, "-"); 我希望通过像这样的字符串:“嘿!这是a
Regex reg = new Regex(@"[^a-zA-Z0-9-]$");
string docName = t.Title.ToLower();
reg.Replace(docName, "-");
我希望通过像这样的字符串:“嘿!这是am@&4美元惊人!”
最后我会说:
“嘿,这是am--4-惊人-
我哪里出错了
[^a-zA-Z0-9-]$
^^
$assert行末尾的位置
所以你们将只替换行尾前的特殊字符
只用
[^a-zA-Z0-9-]
此外,这将取代甚至空间
。因此更好地使用
[^a-zA-Z0-9 -]
见演示
您得到的结果是什么?谢谢您的帮助!现在完全有意义了。