主题:请教字符串替换问题
gdsklw
[专家分:0] 发布于 2006-07-28 23:55:00
文本中可能有多个字符"A",如何把字符"A"替换为"BC"?
回复列表 (共7个回复)
沙发
moz [专家分:37620] 发布于 2006-07-29 00:37:00
do while instr(s$,"A")
i=instr(s$,"A")
s$=left$(s$,i-1)+"BC"+mid$(s$,i+1)
loop
到了VB就简单多了,用一个Replace函数就可以了
板凳
gdsklw [专家分:0] 发布于 2006-07-29 08:23:00
如果把替换后的结果保存到原来的文本如何办?假设文本为A.TXT
3 楼
moz [专家分:37620] 发布于 2006-07-29 11:23:00
如果文件长度<16383
open "a.txt"for [color=ff00ff]binary[/color] as #1
s$=input$(16383,1)
close #1
do while instr(s$,"A")
i=instr(s$,"A")
s$=left$(s$,i-1)+"BC"+mid$(s$,i+1)
loop
open "a.txt"for output as #1
print #1,s$
close #1
4 楼
gdsklw [专家分:0] 发布于 2006-07-29 15:17:00
测试好象不行.
5 楼
moz [专家分:37620] 发布于 2006-07-29 21:07:00
把 input 改成 binary 就可以了
open "a.txt"for binary as #1
s$=input$(16383,1)
close #1
i=-1
do while instr(i+2,s$,"-")
i=instr(i+2,s$,"-")
if mid$(s$,i-1,1)<>" " then
s$=left$(s$,i-1)+" -"+mid$(s$,i+1)
else
i=i-1
endif
loop
open "a.txt"for output as #1
print #1,s$
close #1
6 楼
QB爱好者 [专家分:370] 发布于 2007-08-28 14:55:00
cls
INPUT A$
LA=LEN(A$)
FOR I=1 TO LA
IF MID$(A$,I,1)="A" THEN A$=MID$(A$,1,I-1)+"BC"+MID$(A$,I+1)
NEXT I
PRINT A$
END
7 楼
lz27 [专家分:300] 发布于 2007-08-28 15:17:00
如果是相同个数字符替换的话可以用mid$
dim f as string
f="ffffff"
mid$(f,3,2)="gg" '注意这句mid$不是函数而是语句
print f
end
我来回复