首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB 如何才能取一段文本的特定部分

2012-01-20 
VB 怎么才能取一段文本的特定部分初学VB看不懂正则表达式想问一下怎么才能取一段文本的特定部分就比如“想

VB 怎么才能取一段文本的特定部分

初学VB 看不懂 正则表达式

想问一下 怎么才能取一段文本的特定部分



就比如 “想问一下 怎么才能取一段文本的特定部分”

我想取 “怎么” 跟 “特定” 这俩个之间的文本



当然这两个词是不固定的。

谢谢各位 30分奉上

[解决办法]

VB code
Private Sub Command1_Click()    Dim strTemp As String    Dim strS As String    Dim strE As String    Dim intS As Integer    Dim intE As Integer        strTemp = "想问一下 怎么才能取一段文本的特定部分"    strS = "怎么"    strE = "特定"        intS = InStr(1, strTemp, strS) + Len(strS)    intE = InStr(1, strTemp, strE) - 1    Debug.Print Mid(strTemp, intS, intE - intS + 1)    End Sub
[解决办法]
'此代码由“正则测试工具 v1.1.35”自动生成,请直接调用TestReg过程
VB code
Private Sub TestReg()    Dim strData As String    Dim reg As Object    Dim matchs As Object, match As Object    strData = "想问一下 怎么才能取一段文本的特定部分"    Set reg = CreateObject("vbscript.regExp")    reg.Global = True    reg.IgnoreCase = True    reg.MultiLine = True    reg.Pattern = "怎么(.*?)特定"    Set matchs = reg.Execute(strData)    For Each match In matchs        'Debug.Print match.Value        Debug.Print match.SubMatches(0)    NextEnd Sub
[解决办法]
如果就是这样的简单需求,可以不用正则表达式。

VB code
Option ExplicitDim strSource As StringPrivate Sub Command1_Click()    Dim strTmp1() As String, strTmp2() As String, i As Integer, n As Integer    strTmp1 = Split(strSource, Text1)    n = UBound(strTmp1)        If n Then        For i = 0 To n            If InStr(strTmp1(i), Text2) Then                strTmp2 = Split(strTmp1(i), Text2)                MsgBox strTmp2(0)            End If        Next i    End If    End SubPrivate Sub Form_Load()    strSource = "想问一下 怎么才能取一段文本的特定部分"    Text1 = "怎么"    Text2 = "特定"End Sub 

热点排行