【发布时间】:2013-06-06 18:50:37
【问题描述】:
如何编辑此正则表达式 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的任何内容 - 如果您有要保留的特定字符,请将它们添加到该列表中。如果您没有有限列表,则需要重新考虑如何进行替换。
标签: c# asp.net-mvc regex