Bonjour,
Je cherche un moyen simple d'enlever les accents d'une chaine de caractères, c'est à dire en évitant de construire une table de comparaison ...
Si quelqu'un a une solution, ca serait vraiment sympa de la partager !
Merci d'avance ...
Bonjour,
Je cherche un moyen simple d'enlever les accents d'une chaine de caractères, c'est à dire en évitant de construire une table de comparaison ...
Si quelqu'un a une solution, ca serait vraiment sympa de la partager !
Merci d'avance ...
Tu peux créer un Converter qui fait un REPLACE des accents que tu indiques.
Ou alors peut-être qu'il existe un équivalent du "Collate" de SqlServer qui permet de ne pas tenir compte des accents lors des comparaisons.
Fais une recherche dans le forum C# (ou bien Linq) j'avais donné une réponse.
J'ai justement écrit un helper qui fait cela ce matin...
Cadeau ;-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public static string ReplaceDiacritics(this string input) { StringBuilder sb = new StringBuilder(); foreach (char c in input.Normalize(NormalizationForm.FormD).ToCharArray()) { UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(c); if (uc != UnicodeCategory.NonSpacingMark) { sb.Append(c); } } return sb.ToString(); }
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
Partager