Remplacer caractères accentués dans une chainet


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. Ceci fonctionne aussi correctement pour la cédille et les autres caractères diacritiques.

''' <summary>
    ''' Fonction qui remplace les caractères accentués par le caractere equivalent non accentué
    ''' </summary>
    ''' <param name="Source"></param>
    ''' <returns></returns>
    Public Function ReplaceChars(Source As String) As String

        Dim Output As New StringBuilder
        For Each Car As Char In Source.Normalize(NormalizationForm.FormD)
            If CharUnicodeInfo.GetUnicodeCategory(Car) <> UnicodeCategory.NonSpacingMark Then Output.Append(Car)
        Next
        Return Output.ToString.Normalize(NormalizationForm.FormC)

    End Function

A voir également

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.