1

有一个文件,我想将其分开并放入列中。看起来文件中的某些字段由空格分隔,其他字段由制表符分隔。我想格式化,以便名称和地址等在列中分开。

enter code here
strStarter = "RT 29 MONTPELIER VA 23100     23100"

intStarter = Len(strStarter)
For i = intStarter to 2 Step -1
strChars = Space(i)
strStarter = Replace(strStarter, strChars, " ")
 strStarter1 = Replace(strStarter, vbTab,  " " )
Next

arrStarter = Split(strStarter, " ")
arrStarter2= Split(strStarter1,vbTab)

 For Each strUnit in arrStarter
    Wscript.Echo strUnit
Next
4

2 回答 2

0

认为您有一个制表符分隔的文件,可能在某些字段中有一系列空白。在这种情况下,你应该

  1. 在 vbTab 上拆分以获取字段
  2. 规范化所有/部分字段中的空白

要规范化空格,您可以使用 Trim() 作为前导/尾随空格,并使用 RegExp.Replace 将“+”或“+”作为模式,将“”作为替换。

(看看这里

于 2013-07-23T12:02:06.450 回答
0

我为您制作了一个类似 Ruby 的拆分函数,用于根据正则表达式模式拆分字符串

'the following string contains a tab
strStarter = "RT 29 MONTPELIER BEFORETAB    AFTERTAB VA 23100     23100"

Function rsplit(string, pattern)
    Dim r
    Set r = New RegExp
    r.Global = True
    r.Pattern = "[^"&pattern&"]+"
    Set rsplit = r.Execute(string)
End Function

For each unit in rsplit(strStarter, " |\t") 
  wscript.echo unit
Next

RT
29
MONTPELIER
BEFORETAB
AFTERTAB
VA
23100
23100
于 2017-03-08T13:12:48.060 回答