Skip to main content
 首页 » 编程设计

c#之MVC 漂亮的 url 和正则表达式中的特殊字符

2024年02月01日25wuhuacong

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