String Normalization – Convert Culture Chars
Removes diacritical marks (accents and other culture-specific modifiers) from a string.
This function uses Unicode normalization (FormD) to decompose accented characters, then filters out characters classified as non-spacing marks, effectively stripping accents and similar modifiers. Useful for culture-invariant text comparison or simplification.
VB
Public Function ConvertCultureChars(ByVal TextToProcess As String) As String
Dim normalizedString As String
Dim stringBuilder As New System.Text.StringBuilder
normalizedString = TextToProcess.Normalize(System.Text.NormalizationForm.FormD)
Dim i As Integer
Dim c As Char
For i = 0 To normalizedString.Length - 1
c = normalizedString(i)
If System.Globalization.CharUnicodeInfo.GetUnicodeCategory(c) <> System.Globalization.UnicodeCategory.NonSpacingMark Then
stringBuilder.Append(c)
End If
Next
Return stringBuilder.ToString()
End Function