2009-03-11 14 views
0

Ich versuche, eine Funktion zu erstellen, die eine Zeichenfolge nehmen, die sich über mehrere Zeilen sein könnte, zum Beispiel:VBS- String aufgeteilt mehrere auf mehreren Leitungen in Array

"declare notThese 
declare orThis 

hello = [email protected]$ 
butNot= $ButNotThis$ 

andDefNot = getDate()" 

und durch sie suchen und zog {string1} 's aus allen Teilen wie

${whatever}@{string1}$ 

und dann schieben sie in ein Array.

Wie würde ich das archivieren? Wäre es durch Regex oder ist es einfacher als das?

Würde es auch einen Unterschied machen, wenn die Zeichenkette auf mehreren Zeilen wie oben gerendert wird?

Antwort

2

Sie können es durch Regex tun. Mehrzeilig oder nicht spielt in diesem Fall keine Rolle.

Function ExtractStrings(input) 
    Dim re, matches, match, i, output 

    Set re = new RegExp 
    re.Pattern = "\$[^@][email protected]([^$]+)\$" 
    re.Global = True 

    Set matches = re.Execute(input) 

    ReDim output(matches.Count - 1) 

    i = 0 
    For Each match in matches 
    output(i) = match.SubMatches(0) 
    i = i + 1 
    Next 

    ExtractStrings = output 
End Function 
Verwandte Themen