vb文本部分内容提取

VB一段文字在text1
Dim ss, aa, bb, cc, xxx As String
ss = WebBrowser1.Document.body.innerText '得到所有文字
MsgBox ss
aa = "before then." '找出要分离的文字前面有标志性的文字
bb = InStr(1, ss, aa) '确定位置
cc = Mid(ss, bb + Len(aa), 12) '取出“before then.”后面的东西
以上代码有了分离文字前的标志性文字,还要分离文字后面的标志性文字怎么添加

Dim szText As String
Dim szFindStrBegin As String
Dim szFindStrEnd As String
Dim nBegin As Long
Dim nEnd As Long
Dim nLength As Long
Dim szMyText As String
szFindStrBegin = "before then." '定义要查找的字符串开头
szFindStrEnd = "456" '定义要查找的字符串结尾

szText = "before then.123456test" '得到所有文字,临时用模板,实际使用切换回去WebBrowser1.Document.body.innerText

Debug.Print (szText) '控制台输出,不要Msgbox
nBegin = InStr(szText, szFindStrBegin) '找开头字符串
If nBegin > 0 Then '必须有能找到开头了才继续
nEnd = InStr(nBegin, szText, szFindStrEnd) '找结尾字符串
If nEnd > nBegin Then '结尾必须比开头的位置大

'包含查找的字符串模式,注释掉下面的2行
nLength = nEnd - nBegin + Len(szFindStrEnd) '计算需要提取的字符串长度,如果要包含查找的字符串用这1行,注释下面2行

'不包含查找的字符串模式
nLength = nEnd - nBegin - Len(szFindStrBegin) '如果不包含查找的字符串,用这2行
nBegin = nBegin + Len(szFindStrBegin) '如果不包含查找的字符串,用这2行

szMyText = Mid(szText, nBegin, nLength) '取出“before then.”到 "test" 中间的东西
Debug.Print ("截取内容:" & szMyText )
End If
End If
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-14
接下来继续:
bb = InStr(bb + Len(aa)+12, ss, aa) '确定位置
dd = Mid(ss, bb + Len(aa), 12) '取出 第2个“before then.”后面的东西
bb = InStr(bb + Len(aa)+12, ss, aa) '确定位置
ee = Mid(ss, bb + Len(aa), 12) '取出 第3个“before then.”后面的东西
。。。。。。
相似回答