如何编辑此正则表达式Regex.Replace(encodedUrl, @"[^a-z0-9]", "-");
以不删除特殊字符,例如ę,ą,ó,ł
等?
这是我的方法。我用它来生成漂亮的URL,URL中没有这些字符.,#$%@:;
。
public static string ToSeoUrl(this string url)
{
// make the url lowercase
string encodedUrl = (url ?? "").ToLower();
// replace & with and
encodedUrl = Regex.Replace(encodedUrl, @"\&+", "and");
// remove characters
encodedUrl = encodedUrl.Replace("'", "");
// remove invalid characters
encodedUrl = Regex.Replace(encodedUrl, @"[^a-z0-9]", "-");
// remove duplicates
encodedUrl = Regex.Replace(encodedUrl, @"-+", "-");
// trim leading & trailing characters
encodedUrl = encodedUrl.Trim('-');
return encodedUrl;
}
问候
最佳答案
您可以将特殊字符添加到字符类中:
@"[^a-z0-9ęąół]"
正则表达式本质上会匹配非a-z,0-9以及您在
[]
之间放置的其他任何字符-这就是^
开头的含义。