当前位置: 首页 > 图文教程 > 开发语言 > Delphi > 字符串分割扩展 SplitEx

Delphi
Delphi编程中Http协议应用(一)
Delphi存取图像完整解决方案
简析Delphi中的XML编程
用Delphi实现IP地址的隐藏
Delphi面向对象编程的20条规则
Delphi中的Wrapper设计模式
用Delphi实现软件的在线升级
Delphi7.0实现添加记录的“携带”实现
Delphi编程访问注册表
让Delphi的DBGrid支持鼠标轮
怎样在DELPHI中实现文件切割/组合
Delphi设计可中/英文切换的界面技巧
用Delphi制作以浏览器为界面的应用程序
Delphi 中压缩流和解压流的应用
Delphi控制并行端口位操作
Delphi编写后台监控软件
用Delphi编写VxD设备驱动程序
用Delphi进行OpenGL编程学习心得
DELPHI编程实现3DS的动画播放
用Delphi制作动态菜单

Delphi 中的 字符串分割扩展 SplitEx


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 39 ::
收藏到网摘: n/a

 
该示例演示了一个字符串扩展splitex例子,文章内含源代码。



  function SplitEx(const Str {需要拆分的文章}, Delimiters {拆分关键字,回车.?!等}: string): TStringList;
  var
  ss: WideString;
  i, St: integer;
  function IsDelimiter(const Delimiters, c: string): Boolean;
  begin //判断是否为拆分关键字
  result := StrScan(PChar(Delimiters), c[1]) <> nil;
  end;
  begin
  Result := TStringList.Create;
  with Result do
  begin
  Clear; Sorted := True; Duplicates := dupIgnore;
  end;
  if Length(Str) < 1 then exit;
  ss := Str; //双字符支持,纯英文可以去掉
  St := -1;
  for i := 1 to Length(ss) do
  if IsDelimiter(Delimiters, ss[i]) then
  if St <> -1 then
  begin
  Result.Add(Trim(Copy(ss, St, i - St)));
  St := -1;
  end
  else
  if St = -1 then St := i;
  if St <> -1 then Result.Add(Copy(ss, St, Length(Str)));
  end;

  //操作演示
  with SplitEx(Memo1.Text, ',,. ?! ' + #13#10) do
  try
  SaveToFile('c:\temp_demo.txt');
  finally
  Free;
  end;