![]() |
专题推荐:
Mysql初级教程 |
MySQL数据库技术强化学习 |
nginx负载平衡 |
搜索引擎优化(SEO) |
Linux命令详解 |
Linux网管 |
常用手册: MySQL4.1中文手册 | HTML4.0参考手册 | APACHE 2.0中文在线手册 | MySQL 5.1参考手册 | FreeBSD 7.0使用手册 |
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;