VBA将字符串解析为标记

时间:2009-04-02 21:49:54

标签: string vba parsing

我的字符串中包含一堆多字母代码,我想根据这些代码解析出来。我不确定如何让它看多个字符以确定它是否构成代码的一部分。

我的字符串如下所示:

BBCTEEBOBBB

我想解析这些实例:

电子 BB CT BOB

因此结果应该是输出(或数组),如下所示:

BB CT Ë Ë BOB BB

1 个答案:

答案 0 :(得分:5)

我会使用正则表达式。在工具|中参考,添加PC上可用的最高版本的Microsoft VBScript Regular Expressions库(我的5.5)。然后,您可以使用以下代码:

Sub main()
  Dim x, m
  Set x = myparser("BBCTEEBOBBB")
  For Each m In x
    Debug.Print m.Value
  Next
End Sub

Function myparser(string_to_parse)
  Dim splitter As New RegExp
  splitter.Pattern = "E|BB|CT|BOB"
  splitter.Global = True
  Set myparser = splitter.Execute(string_to_parse)
End Function

myparser函数生成一个MatchCollection对象,可以在main子例程中进行巡视。输出是按顺序列出输入字符串中找到的所有匹配项的列表。您应该能够轻松地将其转换为生成数组或空格分隔的字符串。