下午好,
我的代码有问题,我在循环文本文件中。文本文件有大约10,000行,所以我想出了使用instr搜索功能找到行号,找到出现“测试名称”的字符号,然后使用mid函数并向左计数找到行号。 / p>
例如
000004 ### 24503 ### Open Account Web ISA single ### 2 #########请输入您的名字。### False ######### Mr# ###########凯丽###################################### ################################################## ################################################## ################################################## ################################################## ################################################## #################################### 666 ### ### Imagenericpassword行动##### ################################################## ################################################## ############################## Cash ISA 2009/2010 ############### ################################################## ################################################## ################################################## ################################################## ###################
因此,在这种情况下,它会找到“Open Account Web ISA single”并向左计数以找到000004.因此,这可以节省我在10,000行中的循环。
接下来我将这一行拆分成一个数组,使用###作为分隔符,这导致了很多空的“列”,因为当我从excel中连接数据时它们是空的。这让我总共有大约247列。我的问题是我不想真正循环通过247列,因为它们中的很多都包含......什么都没有。我有更快的方法吗?
我曾经使用excel,但它太慢了。
答案 0 :(得分:1)
您可以删除空列:
Set re = New RegExp
re.Pattern = "(###){2,}"
re.Global = True
withoutEmptyCols=re.Replace(input,"###")
这是您的示例的结果:
000004 ### 24503 ###打开帐户Web ISA单### 2 ###请输入您的名字。### False ### Mr ### callie ### 666 ### Imagenericpassword# ## Ops ### Cash ISA 2009/2010 ###