Токенизация строк - PullRequest
       9

Токенизация строк

3 голосов
/ 11 июля 2009

У меня есть около 100 строк текста, которые я хочу маркировать, которые похожи на следующие:

<word> <unknown number of spaces and tabs> <number>

У меня проблемы с поиском функций токенизации с помощью VBA. Какой самый простой способ токенизировать такие строки в VBA?

Ответы [ 3 ]

3 голосов
/ 11 июля 2009

Вы можете читать построчно и использовать функцию разделения, чтобы разделить слово и число на пробел. Я смутно помню, VBA имеет функцию разделения.

Я получил следующую ссылку, выполнив поиск в Google. Не уверен, какую версию офиса вы используете.

http://msdn.microsoft.com/en-us/library/aa155763(office.10).aspx

Эта ссылка имеет функцию разделения.

2 голосов
/ 11 июля 2009

Вы можете использовать метод Split() или для более сложных совпадений вы можете использовать объект "vbscript.regexp":

Sub NewRegex()
    Dim reg
    Dim matches, match, tmpStr As String

    Set reg = CreateObject("vbscript.regexp")
    tmpStr = "blah bla ...."

    With reg
        .IgnoreCase = True
        .MultiLine = False
        .Pattern = "your regex pattern goes here"
        .Global = True
    End With

    Set matches = reg.Execute(tmpStr)

    For Each match In matches
        MsgBox match
    Next mt

End Sub

Вот учебник по использованию регулярных выражений из VBA: Использование регулярных выражений (RegExp) в Excel

0 голосов
/ 11 июля 2009

Функция разделения VBA прямо со страницы MS

http://msdn.microsoft.com/en-us/library/aa155763(office.10).aspx

...