主题:这题怎么改,哪位高手帮我一下,谢谢了!
莹萍
[专家分:130] 发布于 2006-02-10 13:07:00
编程从THIS BOOK ! IS THIS A DISK?中删除所有的子串IS,删除后的字符串为“TH BOOK !TH A DK?
A$="THIS BOOK ! IS THIS A DISK?"
N=LEN(A$):M=LEN("IS")
FOR I=1 TO N-1
X$=MID$(A$,I,M)
IF X$="IS" THEN
X$=""
ELSE
PRINT X$;
ENDIF
S$=S$+X$
NEXT I
PRINT S$
END
怎么改?帮帮忙?
回复列表 (共5个回复)
沙发
54BB [专家分:380] 发布于 2006-02-10 16:33:00
如果是我的话,我就干脆单个字符的比较,因为I后面都是S嘛
A$="THIS BOOK ! IS THIS A DISK?"
N=LEN(A$)
FOR I=1 TO N-1
X$=MID$(A$,I,1)
IF X$="I" or x$="S" THEN
X$=""
ELSE
END IF
S$=S$+X$
NEXT I
PRINT S$
END
板凳
飞鸟12 [专家分:2830] 发布于 2006-02-10 17:54:00
a$ = "THIS BOOK ! IS THIS A DISK?"
b$ = "IS"
CLS
PRINT a$
n = LEN(a$)
m = LEN(b$)
i = 1
DO WHILE i <= LEN(a$) - m + 1
IF b$ = MID$(a$, i, m) THEN
a$ = LEFT$(a$, i - 1) + RIGHT$(a$, LEN(a$) - m + 1 - i)
ELSE
i = i + 1
END IF
LOOP
PRINT a$
END
3 楼
飞鸟12 [专家分:2830] 发布于 2006-02-10 18:26:00
a$ = "THIS BOOK ! IS THIS A DISK?"
b$ = "IS"
c$ = ""
CLS
PRINT a$
alen = LEN(a$)
blen = LEN(b$)
p1 = 1
p2 = 1
DO
p1 = p2
DO WHILE b$ <> MID$(a$, p2, blen) AND p2 <= alen - blen + 1
p2 = p2 + 1
LOOP
c$ = c$ + MID$(a$, p1, p2 - p1)
p2 = p2 + blen
LOOP WHILE p2 <= alen - blen + 1
PRINT c$
END
4 楼
莹萍 [专家分:130] 发布于 2006-02-10 18:34:00
这样做的话,不是都改变了吗,那改的地方也太多了!
如果自己编的话,当然是这样做的了
5 楼
moz [专家分:37620] 发布于 2006-02-13 00:40:00
print delchr$("THIS BOOK ! IS THIS A DISK?","IS")
function delchr$(a$,d$)
l=len(d$)
do
v=instr(a$,d$)
if v>0 then a$=left$(a$,v-1)+mid$(a$,v+l)
loop while v
delchr$=a$
end function
我来回复