VB 如何才能取一段文本的特定部分
VB 怎么才能取一段文本的特定部分
初学VB 看不懂 正则表达式
想问一下 怎么才能取一段文本的特定部分
就比如 “想问一下 怎么才能取一段文本的特定部分”
我想取 “怎么” 跟 “特定” 这俩个之间的文本
当然这两个词是不固定的。
谢谢各位 30分奉上
------解决方案--------------------
初学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) Next End Sub
------解决方案--------------------
如果就是这样的简单需求,可以不用正则表达式。
- VB code
Option Explicit Dim strSource As String Private 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 Sub Private Sub Form_Load() strSource = "想问一下 怎么才能取一段文本的特定部分" Text1 = "怎么" Text2 = "特定" End Sub