2009-03-11 4 views
0

Я пытаюсь создать функцию, которая будет принимать строку, которая может быть на несколько строк, например:VBS- Строка разделить несколько на несколько строк в массив

"declare notThese 
declare orThis 

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

andDefNot = getDate()" 

И поиск через него, вытаскивая {string1} из всех частей, таких как

${whatever}@{string1}$ 

, а затем нажимать их в массив.

Как бы это сделать? Будет ли это с помощью регулярного выражения или проще?

И будет ли это иметь значение, если строка отображается на нескольких строках, как указано выше?

ответ

2

Вы можете сделать это с помощью регулярного выражения. В этом случае роль нескольких строк или нет.

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