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