我想编写一个函数来删除字符串变量中的所有字符,但只留下字母。
例如,如果字符串变量有
“My'na/me*is'S.oph&ia。”
我要显示
“我叫索菲亚”
最简单的方法是什么?
将 转换String
为字符数组,如下所示:
Dim theCharacterArray As Char() = YourString.ToCharArray()
现在循环并只保留字母,如下所示:
theCharacterArray = Array.FindAll(Of Char)(theCharacterArray, (Function(c) (Char.IsLetter(c))))
最后,将字符转换回 a String
,像这样
YourString = New String(theCharacterArray)
注意:此答案是对How to remove all non alphanumeric characters from a string except 的答案的 VB.NET 改编 dash。
所以你想用空格替换'
and然后删除所有非字母?*
Dim lettersOnly = From c In "My'na/me*is'S.oph&ia.".
Replace("'"c, " "c).Replace("*"c, " "c)
Where Char.IsWhiteSpace(c) OrElse Char.IsLetter(c)
Dim result As New String(lettersOnly.ToArray())