VB 字符串查找号码

来源:百度知道 编辑:UC知道 时间:2024/07/02 19:54:34
Dim Number As String
Dim num2 As String
Dim Str As String

Number = CStr(Text1.Text)
num2 = "139"
Str = Mid(Number, InStr(1, Number, num2), 11)
If Str = "" Then
Text2.Text = "无效的号码"
Else
Text2.Text = Str
End If

如果查找不到就提示出错了,请问怎么办?
刚才回答我问题的那个朋友,因为我在补充中加入了具体的号码,百,度不让我发,把我的提问关了。

在线等,知道的朋友请教一下!!

if instr(1,number,num2)>0 then
Str = Mid(Number, InStr(1, Number, num2), 11)
end if

因为MID函数的第二个参数是要提取字符串开头的位置,而位置是不能小于1的。
字符串中字符的位置是从1开始的。
而INSTR函数,如果找不到目标函数返回值为0。
所以你在找不到目标函数的时候会出现错误

Dim Str As String应该改为Dim Str As integer
因为str返回的是num2在Number中第一次出现的位置。

If Str = "" Then
Text2.Text = "无效的号码"
Else
这里错误,如果找不到,str<0 改成:
If Str < 0 Then
Text2.Text = "无效的号码"
Else

最后完整的正确代码为:

Dim Number As String
Dim num2 As String
Dim Str As Integer
Number = CStr(Text1.Text)
num2 = "139"
Str = Mid(Number, InStr(1, Number, num2), 11)
If Str < 0Then
Text2.Text = "无效的号码"
Else
Text2.Text = mid(number,str,11)
End If

你说的查找不到就提示出错是什麼意思丫??
在事件头+一句代码行不行
on error exit sub?