vb文本搜索问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 15:58:22
Dim s As String, FirstStr As String, LastStr As String
s = RichTextBox1.Text
FirstStr = "http://v.youku.com/v_show/id_"
LastStr = ".html"
aas = Mid(s, InStr(1, s, FirstStr) + Len(FirstStr), InStr(1, s, LastStr) - InStr(1, s, FirstStr) - Len(FirstStr))
我写视频搜索的
获取之间的代码
文本是网页代码 总是出错 无效的过程或者参数
我的QQ540460896

你写的也太不仔细了吧,,
你用instr至少也要判断下返回的是否为0撒!
还有这个InStr(1, s, FirstStr) + Len(FirstStr),它是否大于s的长度你也没判断...
这个 InStr(1, s, LastStr) - InStr(1, s, FirstStr) - Len(FirstStr)...
你可以多申明几个变量,把上面的都保存起来,多判断几次,这样你的程序既容易理解,也不容易出错啊...你一个aas的赋值语句写那么长...出错的可能性大大的.....- -

给你一个函数吧,用VBA编的,移植到VB里去要把变量名换成字母的
Function 截取两个标志间的内容(原文 As String, 指针 As Long, 标志1 As String, 标志2 As String) As String
Dim 指针1 As Long
指针 = InStr(指针, 原文, 标志1, vbBinaryCompare)
If 指针 = 0 Then Exit Function
指针 = 指针 + Len(标志1)
指针1 = InStr(指针, 原文, 标志2, vbBinaryCompare)
If 指针1 = 0 Then Exit Function
If 指针1 >= 指针 Then 截取两个标志间的内容 = Mid(原文, 指针, 指针1 - 指针)
End Function

修改如下:
Dim s As String, FirstStr As String, LastStr As String
Dim i As Integer, j As Integer, aas As String
s = RichTextBox1.Text
FirstStr = "http://v.youku.com/v_show/id_