Remplacer caractères accentués dans une chaine

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 166 fois - Téléchargée 13 fois


Contenu du snippet

En VB Net voici comment remplacer dans une chaine de caractères les caractères accentués par leurs équivalents non accentués .

Imports System.Text
Imports System.Globalization

'Fonction qui remplace les caractères accentués par le caractere equivalent non accentué
Public Function ReplaceChars(ByVal source As String) As String
    
    Dim sourceInFormD As String = source.Normalize(NormalizationForm.FormD)
    Dim output As New StringBuilder
    For Each c As Char In sourceInFormD
        Dim uc As UnicodeCategory = CharUnicodeInfo.GetUnicodeCategory(c)
        If uc <> UnicodeCategory.NonSpacingMark Then
            output.Append(c)
        End If
    Next
    Return output.ToString.Normalize(NormalizationForm.FormC)
    
End Function

A voir également

Ajouter un commentaire Commentaires
Messages postés
16720
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 janvier 2022
583
Salut, je ne sais plus non plus ou je l'avais trouvée et en faire profiter tout le monde est une très bonne idée.
Je voulais juste préciser que ça supprime toute modification à une lettre et pas seulement les accents.
Bonnne journée
Messages postés
2526
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
17 janvier 2022
143
Salut Whismeril
Ce n'est pas dans ta version du Boogle que je l'ai vue cette fonction ( je ne sais plus où d'ailleurs)
Je m'en sers dans ma version du "Dictionnaire en format DAWG" pour la vérification d'un mot que l'on tape dans une Textbox : ainsi on ne récupère que des mots avec les lettres de A jusqu'à Z même en tapant les mots avec les accents et autres signes diacritiques . .
Comme c'était la première fois que je voyais cette fonction et que je la trouvais concise et intéressante j'ai voulu en faire profiter la communauté Codes-Sources
Messages postés
16720
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 janvier 2022
583
Bonsoir VB,
ça supprime tous les signes diacritiques:
  • accents,
  • cédilles
  • tilde
  • etc...


Je l'avais mise dans ma version du Boggle

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.