用这个行不行?首部 function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string; $[SysUtils 功能 在字符串S将老字符串OldPattern用新字符NewPattern串取代返回。 说明 type TReplaceFlags = set of (rfReplaceAll, rfIgnore Case); Flags的值为rfReplaceAll则需要全字匹配,否则将忽略大小写。
var S, S2 : string; begin S := 'ab;c;def'; S2 := StringReplace(S, ';', '', [rfReplaceAll]); Showmessage(S2); end;
这是我刚写的一个程序: 是用在这里的:"001.2","456.325","4578.256 22.3 55.362 44.562 000000000000000","12.56" 取出:55.362 44.562 这两个,你看一下合不合适你用! Function GetSubStr(var aString:String;SepChar: String):String; var Mystr:String; StrLen:Integer; SepCharPos:Integer; begin StrLen:=Length(aString); SepCharPos:=Pos(SepChar,aString);//计算分割符在子串中的位置 MyStr:=Copy(aString,1,SepCharPos-1);// 将分割符前所有字符放到mystr串中 Delete(aString,1,SepCharPos);//除去分割符和分割符前的子串 GetSubStr:=MyStr;//返回一个字段 end;procedure TForm1.Button1Click(Sender: TObject); var sl1,sl2:Tstringlist; i,j,num:integer; p,f,MyLine:string; a:array[1..6] of string; b:array[1..8] of string; begin sl1:=TStringList.Create; try sl1.loadfromfile('c:\3.txt'); sl2:=TStringList.Create; i:= sl1.count-1; p:= sl1.Strings[i]; sl2.free; finally sl1.free; end; for i :=1 to 6 do begin f := '"'; a[i]:=GetSubStr(p,f); end; f := ' '; num := pos(' ',a[6]); for j :=1 to num do begin b[j] := GetSubStr(a[6],f); end; edit1.Text := b[3]; edit2.Text := b[4]; edit3.Text := b[5]; edit4.Text := b[6]; edit5.Text := b[7]; edit6.Text := b[8]; end;
var S, S2 : string; begin S := 'ab;c;def'; S2 := StringReplace(S, ';', '', [rfReplaceAll]); Showmessage(S2); end;
是这个意思嘛?
功能 在字符串S将老字符串OldPattern用新字符NewPattern串取代返回。
说明 type TReplaceFlags = set of (rfReplaceAll, rfIgnore Case); Flags的值为rfReplaceAll则需要全字匹配,否则将忽略大小写。
S, S2 : string;
begin
S := 'ab;c;def';
S2 := StringReplace(S, ';', '', [rfReplaceAll]);
Showmessage(S2);
end;
是用在这里的:"001.2","456.325","4578.256 22.3 55.362 44.562 000000000000000","12.56"
取出:55.362 44.562 这两个,你看一下合不合适你用!
Function GetSubStr(var aString:String;SepChar: String):String;
var
Mystr:String;
StrLen:Integer;
SepCharPos:Integer;
begin
StrLen:=Length(aString);
SepCharPos:=Pos(SepChar,aString);//计算分割符在子串中的位置
MyStr:=Copy(aString,1,SepCharPos-1);// 将分割符前所有字符放到mystr串中
Delete(aString,1,SepCharPos);//除去分割符和分割符前的子串
GetSubStr:=MyStr;//返回一个字段
end;procedure TForm1.Button1Click(Sender: TObject);
var
sl1,sl2:Tstringlist;
i,j,num:integer;
p,f,MyLine:string;
a:array[1..6] of string;
b:array[1..8] of string;
begin
sl1:=TStringList.Create;
try
sl1.loadfromfile('c:\3.txt');
sl2:=TStringList.Create;
i:= sl1.count-1;
p:= sl1.Strings[i];
sl2.free;
finally
sl1.free;
end;
for i :=1 to 6 do
begin
f := '"';
a[i]:=GetSubStr(p,f);
end;
f := ' ';
num := pos(' ',a[6]); for j :=1 to num do
begin
b[j] := GetSubStr(a[6],f);
end;
edit1.Text := b[3];
edit2.Text := b[4];
edit3.Text := b[5];
edit4.Text := b[6];
edit5.Text := b[7];
edit6.Text := b[8];
end;
S, S2 : string;
begin
S := 'ab;c;def';
S2 := StringReplace(S, ';', '', [rfReplaceAll]);
Showmessage(S2);
end;