删除String变量中的所有字符,但字母

时间:2013-09-23 14:51:40

标签: vb.net string variables character ascii

我想编写一个函数来删除字符串变量中的所有字符,但只留下字母。

例如,如果字符串变量具有

  

“My'na /箱* is'S.oph&安培; IA”

我想要显示

  

“我的名字是索菲亚”

最简单的方法是什么?

2 个答案:

答案 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())