stackoverflow が質問で行うのと同じように、一部の文字列をきれいな URL に変換できる ASP.NET MVC 用の既存のライブラリまたはコードはありますか?
文字列を持つ:
こんにちは!これは、アクセントのある言葉とファンキーな奇妙なものです - / キャラクター (29)
次のようなものに:
Hello-there-This-is-some-weird-accented-words-and-funcky-Characters-29
stackoverflow が質問で行うのと同じように、一部の文字列をきれいな URL に変換できる ASP.NET MVC 用の既存のライブラリまたはコードはありますか?
文字列を持つ:
こんにちは!これは、アクセントのある言葉とファンキーな奇妙なものです - / キャラクター (29)
次のようなものに:
Hello-there-This-is-some-weird-accented-words-and-funcky-Characters-29
さて、分音符号の削除は以前に回答されています。
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
、正規表現を置換して、英数字以外のすべての文字を 1 つのダッシュに置き換えるだけで済みます。
public static string PrettyUrl(string s)
{
return Regex.Replace(RemoveDiacritics(s), "[^a-zA-Z0-9]+", "-").Trim('-');
}