想處理資料成圖片里的樣子,正則運算式
myreg2.Pattern = "\s*(\S+)獎(\S+)”
myreg2.Pattern = "(\w+)獎(\w+)"
比如 出勤獎三等 銷售獎二等
excel運行上面對下面錯,下面的為空值,可是正則測驗器里兩個都是對的,這是為什么?
Sub demo3()
Worksheets(1).Activate
Dim myreg1 As Object, myreg2 As Object, mymatch1 As Object
Dim mymc, mymatch2 As Object, k, mymatches1, mymatches2, mydata, i, j
i = 6
Set myreg1 = CreateObject("vbscript.regexp")
myreg1.Global = True
myreg1.Pattern = "姓名:\s*(\S+)\s*獲獎情況:([^;]+);"
Set myreg2 = CreateObject("vbscript.regexp")
myreg2.Global = True
myreg2.Pattern = "\s*(\S+)獎(\S+)"
'myreg2.Pattern = "(\w+)獎(\w+)"
mydata = Cells(1, 1).Value
Set mymatch1 = myreg1.Execute(mydata)
For Each mymatches1 In mymatch1
mymc = mymatches1.submatches(1)
Set mymatch2 = myreg2.Execute(mymc)
For Each mymatches2 In mymatch2
MsgBox mymatches2.submatches(0)
Next
Next
uj5u.com熱心網友回復:
\w 匹配字母或數字或下劃線或漢字 等價于 '[^A-Za-z0-9_]'。可能是 \w 不能匹配中文的原因;
uj5u.com熱心網友回復:
剛才我轉的內容不對:注意:
\w能不能匹配漢字要視你的作業系統和你的應用環境而定;
可能是EXCEL VBA中 \w 不能匹配中文的原因;
uj5u.com熱心網友回復:
勤勤懇懇米老鼠,為啥不來當版主,VB板塊太荒蕪,急需杰瑞來幫助
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/31860.html
標籤:VBA
上一篇:怎么建立選單
下一篇:VB2012連接OPC 服務,運行Group.AsyncWrite這條陳述句時一直提示“指定的陣列不屬于需要的型別”
