VBS - String разбить несколько на несколько строк в массив - PullRequest
0 голосов
/ 11 марта 2009

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

"declare notThese
declare orThis

hello = $notThis@butthis$
butNot= $ButNotThis$

andDefNot = getDate()"

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

${whatever}@{string1}$

и затем помещаем их в массив.

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

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

1 Ответ

2 голосов
/ 11 марта 2009

Вы можете сделать это через регулярное выражение. Многострочный или нет, не играет роли в этом случае.

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

  Set re = new RegExp
  re.Pattern = "\$[^@]+@([^$]+)\$"
  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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...