是否有任何现有的ASP.NET MVC库或代码可以将某些字符串转换为一个非常好的URL,就像stackoverflow有问题一样?
有字符串:
你好!这是一些奇怪的词汇和乐趣 - / Characters(29)
类似于:
您好-有此结果是,一些-怪异口音的字和 - funcky字符-29
答案 0 :(得分:1)
嗯,已经回答了删除变音符号before。
public static string RemoveDiacritics(string text)
{
var normalizedString = text.Normalize(NormalizationForm.FormD);
var stringBuilder = new StringBuilder();
foreach (var c in normalizedString)
{
var unicodeCategory = CharUnicodeInfo.GetUnicodeCategory(c);
if (unicodeCategory != UnicodeCategory.NonSpacingMark)
{
stringBuilder.Append(c);
}
}
return stringBuilder.ToString().Normalize(NormalizationForm.FormC);
}
如果你选择RemoveDiacritics
,那么你需要做的只是一些正则表达式替换,用一个破折号替换所有非字母数字字符。
public static string PrettyUrl(string s)
{
return Regex.Replace(RemoveDiacritics(s), "[^a-zA-Z0-9]+", "-").Trim('-');
}