我身邊有100行,我要來標記文本,這是一樣的以下內容:符號化的字符串
<word> <unknown number of spaces and tabs> <number>
我無法找到與VBA記號化功能。在VBA中標記這些字符串最簡單的方法是什麼?
我身邊有100行,我要來標記文本,這是一樣的以下內容:符號化的字符串
<word> <unknown number of spaces and tabs> <number>
我無法找到與VBA記號化功能。在VBA中標記這些字符串最簡單的方法是什麼?
您可以逐行閱讀,並使用拆分功能按空格拆分單詞和數字。我依稀記得VBA有分裂功能。
我通過在谷歌搜索得到以下鏈接。不確定您使用的是哪個版本的辦公室。
http://msdn.microsoft.com/en-us/library/aa155763(office.10).aspx
此鏈接有分裂功能。
我設法將行分割成一個字符串數組,我們假設它叫做hello()。有效內容位於hello()的第一個和最後一個條目中。由於數組的大小是可變的,我怎樣才能找出數組的大小來解決數組的第一個和最後一個入口。 – stanigator 2009-07-11 03:05:37
你可以使用ubound(數組)來獲取元素的數量。您可以通過數組(0)和數組的最後一個條目(ubound(array))獲取第一個條目。分割返回一維數組。因此,myarray = split(「hello world」,「」)debug.print myarray(0)dim elementCount as integer elementCount = ubound(myarray)debug.print myarray(elementCount)。 – shahkalpesh 2009-07-11 03:10:47
可以使用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正則表達式:Using Regular Expressions (RegExp) in Excel
你從哪裏取字符串?如果他們在實際的Word文檔中,則可以使用Word的內置搜索和替換功能。 – guillermooo 2009-07-12 21:07:33