« VBScriptやVBAのSplit()関数も、チョー遅い! | トップページ | VBScriptやVBAのSplit()関数の代替にJScriptを使う。 »

2008年5月 7日 (水)

VBScriptやVBAのSplit()関数の代替関数

代替関数のほうが、速い。とは、情けない。

a = String(1024 * 1024,"a")
t1 = Timer
b = Splitx(a, "a")
MsgBox Timer - t1
' 7.492188

Function Splitx(s, p)
Dim a(), n, b, e, f
ReDim a(Len(s))
b = 1
n = 0
f = InStr(b, s, p)
Do While f
  a(n) = Mid(s, b, f - b)
  n = n + 1
  b = f + Len(p)
  f = InStr(b, s, p)
Loop
a(n) = Mid(s, b)
ReDim Preserve a(n)
Splitx = a
End Function

« VBScriptやVBAのSplit()関数も、チョー遅い! | トップページ | VBScriptやVBAのSplit()関数の代替にJScriptを使う。 »