Regex для замены à, Á, Ä и т. Д. -> a, Õ, ò и т. Д. -> o - PullRequest
0 голосов
/ 29 августа 2011

Набор символов западной латиницы содержит такие символы, как À Á Â Â Ä Å, которые имеют все те же стандартные символы «a», что и «radix». Это происходит на е, я, о, и т. Д. также. Существует ли регулярное выражение для замены этих вариаций на их 'основополагающие' символы?

Это будет использоваться для создания SEO дружественного URL из текста (но не ограничиваясь этим):

Пример: La cena e pronta => La cena e pronta

1 Ответ

2 голосов
/ 30 августа 2011

Попробуйте:

string str = "La cena è pronta àèéìòùçæÀÈÉÌÒÙÇÆ";
str = str.Normalize(NormalizationForm.FormD); // Or use NormalizationForm.FormKD
str = Regex.Replace(str, @"\p{Mn}", "");
// Result: La cena e pronta aeeioucæAEEIOUCÆ

Но учтите, что Æ остается Æ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...