我想编写一个函数来删除字符串变量中的所有字符,但只留下字母。
例如,如果字符串变量具有
“My'na /箱* is'S.oph&安培; IA”
我想要显示
“我的名字是索菲亚”
最简单的方法是什么?
答案 0 :(得分:2)
将String
转换为字符数组,如下所示:
Dim theCharacterArray As Char() = YourString.ToCharArray()
现在循环并仅保留字母,如下所示:
theCharacterArray = Array.FindAll(Of Char)(theCharacterArray, (Function(c) (Char.IsLetter(c))))
最后,将角色转换回String
,就像这样
YourString = New String(theCharacterArray)
注意:这个答案是对How to remove all non alphanumeric characters from a string except dash的答案的VB.NET改编。
答案 1 :(得分:1)
您希望将'
和*
替换为空格,然后删除所有非字母?
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())