2016-06-28 34 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