站内搜索

字符串分割扩展 SplitEx

该示例演示了一个字符串扩展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;

  • 上一篇:关于VisiBroker For Delphi的使用(1)
  • 下一篇:用Delphi编写Win 2000服务程序