Public Sub RemoveAccents(s As String) As String
If s = "" Then Return ""
Dim staticNormalizer As JavaObject
staticNormalizer.InitializeStatic("java.text.Normalizer")
Dim nfdForm As JavaObject
nfdForm.InitializeStatic("java.text.Normalizer$Form")
Dim normalized As String = staticNormalizer.RunMethod("normalize", Array(s, nfdForm.GetField("NFD")))
Dim joStr As JavaObject = normalized
Dim cleanStr As String = joStr.RunMethod("replaceAll", Array("\p{M}+", "")) ' Removes all accents in a single C++ step
' Return cleanStr.Trim.ToLowerCase ' To process data for a search engine or index where you need to force everything to lowercase and remove leading or trailing spaces
Return cleanStr ' If the original text format is respected (capital letters, spaces before and after)
End Sub