onclick='Odds(942057)'
onclick='Odds(942058)'
onclick='Odds(942059)'
onclick='Odds(942060)'
onclick='Odds(942061)'
我的文本里面有很多個類似于這個樣子的!我想把后面所有后面的數字全部提出來! 放到一個陣列里面!應該怎么做呢? 謝謝各位了!
順便說一下我是做一個網頁決議的程式!所以會有很多“=”和 “onclick”的之類的!還會有很多其他無關的資料!所以盡可能可以嚴謹點!
uj5u.com熱心網友回復:
'此代碼由“正則測驗工具 v1.1.35”自動生成,請直接呼叫TestReg程序
Private Sub TestReg()
Dim strData As String
Dim reg As Object
Dim matchs As Object, match As Object
strData = "onclick='Odds(942057)' " & vbCrLf & _
"onclick='Odds(942058)' " & vbCrLf & _
"onclick='Odds(942059)' " & vbCrLf & _
"onclick='Odds(942060)' " & vbCrLf & _
"onclick='Odds(942061)' "
Set reg = CreateObject("vbscript.regExp")
reg.Global = True
reg.IgnoreCase = True
reg.MultiLine = True
reg.Pattern = "onclick='Odds\((\d*)\)'"
Set matchs = reg.Execute(strData)
For Each match In matchs
'Debug.Print match.Value
Debug.Print match.SubMatches(0)
Next
End Sub
uj5u.com熱心網友回復:
(?<=Odds\()\d+(?=\))uj5u.com熱心網友回復:
正則運算式。uj5u.com熱心網友回復:
Dim strData As String運行結果
Dim strLine() As String
Dim lngData() As Long
Dim i As Long
strData = "onclick='Odds(942057)' " & vbCrLf & _
"onclick='Odds(942058)' " & vbCrLf & _
"onclick='Odds(942059)' " & vbCrLf & _
"onclick='Odds(942060)' " & vbCrLf & _
"onclick='Odds(942061)' "
strLine = Split(strData, vbCrLf)
ReDim lngData(UBound(strLine))
For i = 0 To UBound(strLine)
lngData(i) = Val(Mid(strLine(i), 15))
Debug.Print lngData(i)
Next i
942057
942058
942059
942060
942061
uj5u.com熱心網友回復:
首先資料是否只由onclick='Odds(942057)'onclick='Odds(942058)'
onclick='Odds(942059)'
onclick='Odds(942060)'
onclick='Odds(942061)'
這種資料組成,如果是好辦,不是,你考慮清理問題。
vb6架構下
先用字串陣列載入 onclick='Odds(942059)' 這種資料
然后回圈對字串用split 按照“=”拆分
取拆分后的字串'Odds(942059)'
然后用replace將'Odds( 以及 )' 替換掉
最后剩下的就是你要的數字了。
vb6使用正則運算式貌似挺麻煩的。
uj5u.com熱心網友回復:
既然用到拆分,就不如直接用 "(" 拆分:Dim strData As String
Dim strLine() As String, strItem() As String
Dim lngData() As Long
Dim i As Long
strData = "onclick='Odds(942057)' " & vbCrLf & _
"onclick='Odds(942058)' " & vbCrLf & _
"onclick='Odds(942059)' " & vbCrLf & _
"onclick='Odds(942060)' " & vbCrLf & _
"onclick='Odds(942061)' "
strLine = Split(strData, vbCrLf)
ReDim lngData(UBound(strLine))
For i = 0 To UBound(strLine)
strItem = Split(strLine(i), "(")
If UBound(strItem) = 1 Then
lngData(i) = Val(strItem(1))
Debug.Print lngData(i)
End If
Next i
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/127672.html
標籤:VB基礎類
