注册 登录
编程论坛 VB6论坛

TXT文件中定位字符

ictest 发布于 2015-10-20 19:17, 495 次点击
求助:一个TXT文件内容如下:
36 -10 1
35 -11 1
34 -12 1
33 -13 1
32 -14 1
31 -15 1
30 -16 1
29 -17 1
28 -18 1
27 -19 1
26 -100 1
25 -101 1
24 -102 1
23 -103 1
22 -104 1
21 -105 1
我想将其中第三列的1修改成5,其他两列都不变,如何定位第三列?
7 回复
#2
风吹过b2015-10-20 20:35
看起来你每列之间都是用空格分隔的,
会用 split 函数吗?
#3
ictest2015-10-20 21:14
哦,我知道这个函数,但不会应用。
#4
exec20002015-10-20 21:19
容易,
每读入一行,用instr函数来查找空格,找到了就再从这个位置找下一个空格,这第二个空格后面就是要替换的内容
用mid函数把这个空格左边的内容取出来,加上你想替换的内容
#5
ictest2015-10-20 21:30
我程序里有这么一句“hideff.Text = Replace(hideff.Text, repalist.List(i), repblist.List(i))”,怎么应用到这句话里呢?
#6
风吹过b2015-10-21 09:26
读入一行,
使用
dim fj() as string
fj=split(数据," ")          按空格分成三段
if ubound(fj)=2  then      正好三段
   fj(2)= "5"             第三段改成5
   数据=join(fj," ")     使用空格又拼起来,使用 join 函数
end if
写入数据
#7
wmf20142015-10-21 10:58
如果最后一个数据是一位的字符,可以简单逐行解决(假设一行数据已经读入到a中):a=right(a,len(a)-3) & "5" & vbcrlf
#8
xiangyue05102015-10-21 14:32
转一个角度思考问题,可能就很简单
1. 如果需要替换的1前面总有一个空格,而其他地方的1没有空格的话
a=replace(a," 1"," 5")
2 如果总是最后一位的话(注意后面是不是还有空格)
a=left(a, len(a)-1) & "5"
1