分隔字符串

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure SeparateTerms(s : string;Separator : char;Terms : TStringList);
//分割字符串过程
  var
  hs : string;
  p : integer;
begin
  Terms.Clear; // 清除字符串中的内容
  if Length(s)=0 then   // 长度为0
    Exit;
  p:=Pos(Separator,s);
  while P<>0 do
  begin
    hs:=Copy(s,1,p-1);   // 复制字符
    Terms.Add(hs);       // 添加到列表
    Delete(s,1,p);       // 删除字符和分割符
    p:=Pos(Separator,s); // 查找分割符
  end;
  if Length(s)>0 then
    Terms.Add(s);        // 添加剩下的条目
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Terms : TStringList;
  i : integer;
const
  TestStr = '1st term;2nd term;3rd term';
  //定义一个字符串
begin
  Terms:=TStringList.Create;
  SeparateTerms(TestStr,';',Terms);
  for i:=0 to terms.Count-1 do
    ShowMessage(Terms.Strings[i]);
  Terms.Free;
end;

end.

相关文章
相关标签/搜索