如何删除所有alpha的字符串?

时间:2011-05-26 13:36:16

标签: vb.net

Dim phoneNumber As String = "077 47578 587(num)"

如何从不是数字的每个字符上删除上面的字符串。所以只留下数字,然后检查以确保它长11个字符?

4 个答案:

答案 0 :(得分:17)

dim number as string = Regex.Replace(phoneNumber,"[^0-9]","")

if number.length = 11 then
 'valid number
else
 'not valid
end if

答案 1 :(得分:2)

  • 您可以循环每个字符并检查它是否为数字。循环时,检查接受的字符数(数字)是否小于11。 或
  • 使用正则表达式删除所有alpha,但你仍然需要在最后算...... ....

答案 2 :(得分:0)

一种可能的解决方案是将字符串视为字符数组,然后仅在您定义的参数中检索带有ascii代码的字符。

Ascii代码可以在以下资源中找到:http://www.bolen.net/html/misc/ASCII-codes.html

或者,您可以使用正则表达式仅检索所需的字符。我的正则表达不是那么热,所以我不能举一个例子:)

答案 3 :(得分:0)

Dim phoneNumber As String = "077 47578 587(num)"

Dim newPhoneNumber = String.Empty 
For i = 0 To phoneNumber.Length - 1
    If IsNumeric(phoneNumber(i)) Then
        newPhoneNumber += phoneNumber(i)
    End If 
Next

Dim valid = newPhoneNumber.Length = 11
相关问题