关于字符串的截取与替换(50分)

J

jobsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
字符串‘XXXXX1XXXXX2XXXXX‘
1、如何将串中的1至2的字串截取出来?
2、如何用另一字符串替换1至2的字符串?
这个问题好象简单都有点不好意思问,可折腾我好久了
 
1、s1:=copy(s,pos('1',s),pos('2',s)-pos('1',s)+1);
s为你的字符串,s1为新串
2、s1:=copy(s,1,pos('1',s)-1)+copy(s,pos('1',s),pos('2',s)-pos('1',s)+1)+copy(s,pos('2',s)+1,length(s)-pos('2',s));
 
小天回答问题真积极!

该休息了. :)
 
革命尚未成功,小天仍需努力
 
对不起小天同志,再请教一下,如果我指定从第几个字符到第几个字符该咋办?
 
将小天程序里面的pos('1',s)换成你的起始位置,pos('2',s)换成结束位置即可.
 
那理好办,如指定第n1到第n2
1、s1:=copy(s,n1,n2-n1+1);
2、s2:=copy(s,1,n1-1)+copy(s,n1,n2-n1+1)+copy(s,n2+1,length(s)-n2);
 
给你个容易理解的例子
const s='abcd1efghi2jklmn';
var p1,p2:byte;
NewStr1,NewStr2:shortstring;
begin
p1:=pos('1',s);
p2:=pos('2',s);
NewStr1:=copy(s,p1,p2-p1+1);
NewStr2:=copy(s,1,p1-1)+'YourString'+copy(s,p2+1,length(s)-p2);
end;
 
小天第一个回答的,11。4我一定去祝你生日的当然也想得点分
sunstone的答案清析明了
 
function replaceChar(strChar,strOld,strNew: String):String;
function replaceChar(strChar,strOld,strNew: String):String;
var
i,j,k: Integer;
s,t: String;
begin
s:=strChar;
i:=1;
j:=length(s);
k:=length(strNew);
i:=Pos(strOld, s);
while i > 0 do
begin
t := t + copy(s,1,i-1) + strNew;
s:=copy(s,i+length(strOld),j);
i:=pos(strOld, s);
end;

Result:=t+s;
end;
 
对不起cytown了,分太少只能分给前两位了
 
呵呵, 没关系, 反正是我从以前的程序中截下来的:)
 

Similar threads

回复
0
查看
670
不得闲
S
回复
0
查看
955
SUNSTONE的Delphi笔记
S
S
回复
0
查看
776
SUNSTONE的Delphi笔记
S
顶部