就是把一个指定的字符串用指定的分割符号分割成多个子串,放入一个 TStringList 中 function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer; 比如要把 'abc,defg,hijkl'; 按照逗号','分割开: var Res: TStringList; i, Count: Integer; begin s := 'abc,defg,hijkl'; Res := TStringList.Create; Count := ExtractStrings([','], [], PChar(s), Res); ShowMessage('共分割出 ' + IntToStr(Count) + ' 个子串'); for i := 0 to (ResCount - 1) do ShowMessage(Res.Strings[i]); Res.Free; end;
procedure TForm1.Button2Click(Sender: TObject); var a:string; b:tStringList; i:integer; Str:String; begin a:='1 one,2 two,3 three'; b:=TStringList.Create; ExtractStrings([','],[],Pchar(a),b); for i:=0 to b.Count-1 do begin Str:=Str+Copy(b[i],1,1)+','; end; ShowMessage(Str); end;
可以这样,比较好理解 var i :integer; S_Temp,S_Lan:string; begin for i:=0 to length(edit.Text) do begin S_Temp :=Copy(str,i,1); if S_Temp<>',' then S_Lan:=S_Lan+S_Temp; else begin 所提取的手机号码:=S_Lan ..... S_Lan:='' end; end; end.
function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar;
Strings: TStrings): Integer;
比如要把 'abc,defg,hijkl'; 按照逗号','分割开:
var
Res: TStringList;
i, Count: Integer;
begin
s := 'abc,defg,hijkl';
Res := TStringList.Create;
Count := ExtractStrings([','], [], PChar(s), Res);
ShowMessage('共分割出 ' + IntToStr(Count) + ' 个子串');
for i := 0 to (ResCount - 1) do
ShowMessage(Res.Strings[i]);
Res.Free;
end;
var
a:string;
b:tStringList;
i:integer;
Str:String;
begin
a:='1 one,2 two,3 three';
b:=TStringList.Create;
ExtractStrings([','],[],Pchar(a),b);
for i:=0 to b.Count-1 do
begin
Str:=Str+Copy(b[i],1,1)+',';
end;
ShowMessage(Str);
end;
var
i :integer;
S_Temp,S_Lan:string;
begin
for i:=0 to length(edit.Text) do
begin
S_Temp :=Copy(str,i,1);
if S_Temp<>',' then
S_Lan:=S_Lan+S_Temp;
else
begin
所提取的手机号码:=S_Lan
.....
S_Lan:=''
end;
end;
end.