网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
DELPHI的split函数的各种实现方法
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

procedure TForm1.Button1Click(Sender: TObject);
var
s1:TStringList;
begin
s1:=split(''11111111:2222:33333:44444'','':'');
Memo1.Lines.AddStrings(s1);
s1.Free;
end;function split(s,s1:string):TStringList;
begin
Result:=TStringList.Create;
while Pos(s1,s)>0 do
begin
     Result.Add(Copy(s,1,Pos(s1,s)-1));
     Delete(s,1,Pos(s1,s));
end;
Result.Add(s);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
s1:TStringList;
begin
s1:=split(''11111111:2222:33333:44444'','':'');
Memo1.Lines.AddStrings(s1);
s1.Free;
end;

一、直接使用如下函数(注:ch只能是单字符,如键盘上英文状态下的字符)

function SplitString(const Source,ch:String):TStringList;
var
temp:String;
i:Integer;
begin
Result:=TStringList.Create;
//如果是空自符串则返回空列表
if Source=''''
then exit;
temp:=Source;
i:=pos(ch,Source);
while i<>0 do
begin
     Result.add(copy(temp,0,i-1));
     Delete(temp,1,i);
     i:=pos(ch,temp);
end;
Result.add(temp);
end;

二、直接使用TStringList

procedure TForm1.Button3Click(Sender: TObject);
var
Str:String;
ResultList:TStringList;
I:Integer;
begin
str:= ''南京~信息~工程~大学'';

ResultList := TStringList.Create;
try
    ResultList.Delimiter := ''~'';
    ResultList.DelimitedText := str;

    for I:= 0 to ResultList.Count-1 do
    begin
      Memo1.Lines.Add(ResultList.Strings[I]);
    end;
finally
    FreeAndNil(ResultList);
end;
end;

三、支持特殊字符版(ch可以为字符串,如''aa'')

function SplitString(const Source,ch:String):TStringList;
var
Temp:String;
I:Integer;
chLength:Integer;
begin
Result:=TStringList.Create;
//如果是空自符串则返回空列表
if Source='''' then Exit;
Temp:=Source;
I:=Pos(ch,Source);
chLength := Length(ch);
while I<>0 do
begin
     Result.Add(Copy(Temp,0,I-chLength+1));
     Delete(Temp,1,I-1 + chLength);
     I:=pos(ch,Temp);
end;
Result.add(Temp);
end;
 

  • 下一篇资讯: Delphi正则表达式
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号