字符串分割扩展 SplitEx[Delphi]

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Didi.04-9-10 教师节

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;

原帖 http://community.csdn.net/Expert/topic/3357/3357097.xml?temp=.9228937

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航