- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi 泛型数组 StrSplit 字符串分割
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function StrSplit(SourStr: string; Delimiter: string): TArray;
var
i, len, count, count2: integer;
sPart: string;
sArr: TArray;
begin
len := Length(SourStr);
sPart := '';
count := 0;
for i := 1 to len do
begin
if (SourStr[i] = Delimiter) or ((i = len) and (SourStr[i] <> Delimiter))
then
begin
count := count + 1;
SetLength(sArr, count);
if (i = len) and (SourStr[i] <> Delimiter) then
sPart := sPart + SourStr[i];
sArr[count - 1] := sPart;
sPart := '';
end
else
begin
sPart := sPart + SourStr[i];
end;
end;
Result := sArr;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
A:TArray;
begin
A:=StrSplit('123-12345-6789','-');
Caption:=A[0]+'='+A[1]+'='+A[2];
end;
end.