2016-06-28 49 views

回答

2

做的另一種方式,這只是稍微改變了正則表達式

strPhrase = "apple+onion*abc/ki&jk" 

Set objRegEx = CreateObject("vbscript.RegExp") 
objRegEx.IgnoreCase = True 
objRegEx.Global = True 
objRegEx.Pattern = "[^a-z0-9]" 
ReplacedText = objRegEx.Replace(strPhrase, " ") 

objArr = Split(ReplacedText) 
For i = 0 To UBound(objArr) 
    If Trim(objArr(i)) <> "" Then 
    Debug.Print objArr(i) 
    End If 
Next 

Set objRegEx = Nothing 
+1

,如果你想保持在一起有空格的話要小心。選擇要分割的字符將不在數據中。當然,分隔字符應該在數據輸入時被阻止,以便100%工作。我們都知道這是怎麼回事: -/ –

+0

我已經嘗試過不同的代碼組合,它的工作原理正是我想要的。 – NMKP

2

你可以把它像這樣:

Dim s : s = "apple+onion*abc/ki&jk" 
Dim r : Set r = New RegExp 
r.Global = True 
r.Pattern = "\+|\*|&|®|@|/" 
NewString = r.Replace(s,"_") 
wscript.echo NewString 
Tab = Split(NewString,"_") 
For i=LBound(Tab) to Ubound(Tab) 
    Msg = Msg & Tab(i) & vbCrlf 
Next 
wscript.echo Msg 
1

這也給拆分字符串的方法之一..

Dim s:s="apple+onion*abc/ki&jk" 

ReDim words(-1) 


    For Each line In Split(s,"+") 
    For Each linetwo In Split(line,"*") 
    For Each linethree In Split(linetwo,"/") 

    For Each linefour In Split(linethree,"&") 

     ReDim Preserve words(UBound(words)+1) 
     words(UBound(words))=linefour 

    Next 

    Next 
    Next 
    Next 


for i=0 to 4 step 1 
    Msgbox(words(i)) 
Next