呵呵 我也想这么做 我的想法更难点 我还没实现我想实现这样的操作Var s, s1, s2: String; begin s1:='text and text and china'; s2:='xt'; s:=SubTheStr(s1, s2); end;SubTheStr函数的功能是将S1字符串中所有的S2字符串减掉 最终 S='tx and tx and china';哪位高手来编写啊?
function SubTheStr(s1, s2:string):string; var s, ts1, ts2:string; vLen, vLen1, vLen2, vPos :smallint; begin vPos := Pos(s2, s1); vLen1 := Length(s2); s := s1; while vPos <> 0 do begin vLen := Length(s); ts1 := copy(s, 1, vPos - 1); vLen2 := Length(ts1); ts2 := copy(s, vPos + vLen1, vLen - vLen2 - vLen1); s := ts1 + ts2; vPos := Pos(s2, s); end; Result := s; end;
function SubTheStr(aStr, aSubStr: String): String; var lsStr, Str: String; begin lsStr:=aStr; While Pos( PChar(aSubStr), PChar(lsStr) )<>0 do begin Str:=Copy( lsStr, 1 ,Pos(aSubStr, lsStr)-1 ); lsStr:=Str+Copy( lsStr, Pos(aSubStr, lsStr)+Length(aSubStr), Length(lsStr)-Length(aSubStr)-Length(Str) ); end; Result:=lsStr; end; var s, s1, s2: String; begin s1:='xt and text and xt and china'; s2:='xt'; s:=SubTheStr(s1, s2); ShowMessage(s); end;呵呵 功能一样
我给你最简单的函数: function SubTheStr(var s1: String; s2: String): String; begin While Pos( s2, s1 )<>0 do begin Delete( s1, Pos(s2, s1), Length(s2) ); end; Result:=s1; end;
function SubTheStr(var s1: String; s2: String): String; begin While Pos( s2, s1 )<>0 do begin Delete( s1, Pos(s2, s1), Length(s2) ); end; Result:=s1; end;
function SubTheStr(var s1: String; s2: String): String; begin While Pos( s2, s1 )<>0 do begin Delete( s1, Pos(s2, s1), Length(s2) ); end; Result:=s1; end;
给我留言和你的Email
str:=copy(A,1,length(A)-1)
我真怀疑你到底是不是搞编程的阿,人家上面已经给出了,你难道不会议护花飘吗?
str:= copy(str,1, Length(str)-1);
s, s1, s2: String;
begin
s1:='text and text and china';
s2:='xt';
s:=SubTheStr(s1, s2);
end;SubTheStr函数的功能是将S1字符串中所有的S2字符串减掉
最终 S='tx and tx and china';哪位高手来编写啊?
var
s, ts1, ts2:string;
vLen, vLen1, vLen2, vPos :smallint;
begin
vPos := Pos(s2, s1);
vLen1 := Length(s2);
s := s1;
while vPos <> 0 do
begin
vLen := Length(s);
ts1 := copy(s, 1, vPos - 1);
vLen2 := Length(ts1);
ts2 := copy(s, vPos + vLen1, vLen - vLen2 - vLen1);
s := ts1 + ts2;
vPos := Pos(s2, s);
end;
Result := s;
end;
var
lsStr, Str: String;
begin
lsStr:=aStr;
While Pos( PChar(aSubStr), PChar(lsStr) )<>0 do
begin
Str:=Copy( lsStr, 1 ,Pos(aSubStr, lsStr)-1 );
lsStr:=Str+Copy( lsStr,
Pos(aSubStr, lsStr)+Length(aSubStr),
Length(lsStr)-Length(aSubStr)-Length(Str) ); end;
Result:=lsStr;
end;
var
s, s1, s2: String;
begin
s1:='xt and text and xt and china';
s2:='xt';
s:=SubTheStr(s1, s2);
ShowMessage(s);
end;呵呵 功能一样
begin
While Pos( s2, s1 )<>0 do
begin
Delete( s1, Pos(s2, s1), Length(s2) );
end;
Result:=s1;
end;
begin
While Pos( s2, s1 )<>0 do
begin
Delete( s1, Pos(s2, s1), Length(s2) );
end;
Result:=s1;
end;
s:string;
begins:=LeftStr(Edit1.text,Length(Edit1.text)-1);
end;
str:= copy(str,1, Length(str)-1);
begin
While Pos( s2, s1 )<>0 do
begin
Delete( s1, Pos(s2, s1), Length(s2) );
end;
Result:=s1;
end;
StringReplace(s1,s2, '',[rfReplaceAll]);