如何编辑此正则表达式 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 之外的任何其他字符以及您在 [] 之间放置的任何其他字符 - 这就是 ^ 的含义在开始。
