函数ExtractStrings介绍

一直以为Delphi中没有分割字符串的函数,以前曾经自己写过,也用过RegExpr来分割,今天无意中发现Delphi本身就有ExtractStrings,而且功能还不弱,分割的同时还可以去空字符串和去空白(可以自定义).

ExtractStrings Routine Fills a string list with substrings parsed from a delimited list.
Unit Classes

 

Separators 参数指定一组分割符,所有的子串都是用它们分割的。但是成对的引号内的分割符会被忽略(参看下面的例子)。
WhiteSpace 参数指定每个子串开头被忽略的字符s。
Content 参数就是被分割的“源”串了。
Strings 参数用于接收分割后的各个子串。它的原有内容不会被清空。别忘了Create哦。
另外,EctractStrings不会把(忽略WhiteSpaces后的)空串加入到Strings中。

写个例子吧:
比如
ABC|...   DEF|#### GHI|"不会被分开|# www.farproc.com"
要得到
ABC
DEF
GHI
不会被分开|# www.farproc.com
四个子串可以用下面的代码:

uses
   Classes;
var
   ASource:PChar;
   AStr:String;
   ACount:Integer;
   AStrings: TStringList;
begin
   ASource :='ABC|... DEF|#### GHI|"不会被分开|# www.farproc.com"';
   AStrings := TStringList.Create;
   try
     ACount := ExtractStrings(['|'],[' ','#','.'], ASource, AStrings);
     {do any further processing}
     /for AStr in AStrings do
     // Writeln(AStr);

   finally
     AStrings.Free;
   end;

   Readln;
end.

转载于:https://www.cnblogs.com/lcyht82/archive/2012/08/06/2624806.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值