问题描述
|
Dim phoneNumber As String = \"077 47578 587(num)\"
我如何将上面的字符串剥离掉每个不带数字的字符。所以只剩下数字,然后检查以确保它是11个字符长?
解决方法
dim number as string = Regex.Replace(phoneNumber,\"[^0-9]\",\"\")
if number.length = 11 then
\'valid number
else
\'not valid
end if
,您可以循环播放每个字符,并检查它是否为数字。循环时,检查接受的字符数(数字)是否少于11。
要么
使用正则表达式删除所有Alpha,但是您仍然必须在末尾计数。
,一种可能的解决方案是将字符串视为字符数组,然后仅在您定义的参数中检索带有ASCII码的字符。
可以在以下资源中找到ASCII代码:http://www.bolen.net/html/misc/ASCII-codes.html
另外,您可以使用正则表达式仅检索所需的字符。我的正则表达式不是很热,所以我不能举个例子:)
,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