How do I remove diacritics (accents) from a string in .NET?

前端 未结 20 2947
南方客
南方客 2020-11-21 05:44

I\'m trying to convert some strings that are in French Canadian and basically, I\'d like to be able to take out the French accent marks in the letters while keeping the lett

20条回答
  •  故里飘歌
    2020-11-21 06:01

    THIS IS THE VB VERSION (Works with GREEK) :

    Imports System.Text

    Imports System.Globalization

    Public Function RemoveDiacritics(ByVal s As String)
        Dim normalizedString As String
        Dim stringBuilder As New StringBuilder
        normalizedString = s.Normalize(NormalizationForm.FormD)
        Dim i As Integer
        Dim c As Char
        For i = 0 To normalizedString.Length - 1
            c = normalizedString(i)
            If CharUnicodeInfo.GetUnicodeCategory(c) <> UnicodeCategory.NonSpacingMark Then
                stringBuilder.Append(c)
            End If
        Next
        Return stringBuilder.ToString()
    End Function
    

提交回复
热议问题