我刚回答了某人: //从字符串Str中Copy从第一个d到其后第一个f的子串Procedure TForm1.CopyDToF(); Var Str,SubStr:String; D_Pos,F_Pos:Integer; Begin Str:='abcdededaaaffgdgefgfg'; CharPos(Str,'d',1,D_Pos); CharPos(Str,'f',D_Pos+1,f_Pos); SubStr:=Copy(Str,D_pos+1,F_Pos-D_Pos-1); Showmessage(Str+'#13'+SubStr); End;//有条件的确定某个字符在字符串中的位置 Procedure TForm1.CharPos(Str,Char:String;StartPos:Integer;var FindPos:Integer); Var Str_L:integer; Find:Boolean; Begin Find:=false; FindPos:=Startpos; While(not Find) do Begin FindPos:=FindPos+1; if Str[FindPos]=Char then Find:=true; End; End;
//从字符串Str中Copy从第一个d到其后第一个f的子串Procedure TForm1.CopyDToF();
Var
Str,SubStr:String;
D_Pos,F_Pos:Integer;
Begin
Str:='abcdededaaaffgdgefgfg';
CharPos(Str,'d',1,D_Pos);
CharPos(Str,'f',D_Pos+1,f_Pos);
SubStr:=Copy(Str,D_pos+1,F_Pos-D_Pos-1);
Showmessage(Str+'#13'+SubStr);
End;//有条件的确定某个字符在字符串中的位置
Procedure TForm1.CharPos(Str,Char:String;StartPos:Integer;var FindPos:Integer);
Var
Str_L:integer;
Find:Boolean;
Begin
Find:=false;
FindPos:=Startpos;
While(not Find) do
Begin
FindPos:=FindPos+1;
if Str[FindPos]=Char then
Find:=true;
End;
End;