读字符串问题,请教下大家
我读取文件得到一个字符串,里面的数字很多。比如“0.0 1.0 2.0 3.0.。。。。”大概有十几万个,我知道数据的总个数。比如是510*499个
我是先用instr判断空格位置,然后left取,循环这样取,但很慢。要怎么做比较快呢。谢谢
[解决办法]
'先L1=Len(str)do str=Replace(str," "," ") L2=Len(str) if L1=L2 Then Exit do L1=L2Loop'再s=Split(str," ")
[解决办法]
把多个空格全部替换为一个空格。
用正则方式替换一下吧。引用 Microsoft VBScript Regular Expressions 1.0 或 5.5
Dim strTemp As String, strNum() As String
Dim strSource As String
Dim re As New RegExp
re.Global = True
re.Pattern = "\s{2,}"
strTemp = re.Replace(strSource, Space(1))
strNum = Split(strTemp, Space(1))
如果不想用正则表达式,可以循环替换,慢一些:
Do Until InStr(strData, Space(2)) = 0
strData = Replace(strData, Space(2), Space(1))
Loop