Delphi 从字符串中提取单词的函数


本文整理自网络,侵删。

 
{从字符串中提取单词的函数}
procedure StrToWordList(str: string; var List: TStringList);
var
  p: PChar;
  i: Integer;
begin
  if List = nil then List := TStringList.Create;
  List.Clear;
  {去除重复}
  List.Sorted := True;
  List.Duplicates := dupIgnore;
  
  p := PChar(str);

  {把单词以外的字符转为空格, 并把大写字母转小写}
  while p^ <> #0 do
  begin
    case p^ of
      'A'..'Z': p^ := Chr(Ord(p^) + 32);
      'a'..'z', '0'..'9', '''', '-': ;
      else p^ := #32;
    end;
    Inc(p);
  end;

  {用空格分离单词到列表}
  List.Delimiter := #32;
  List.DelimitedText := str;

  {单词的开头应该是字母, 去除其他}
  for i := List.Count - 1 downto 0 do
  begin
    if CharInSet(List[i][1], ['0'..'9', '-', '''']) then
    List.Delete(i);
  end;
end;

相关阅读 >>

Delphi shellexecute调用系统命令关闭计算机

Delphi android 安卓系统 关闭打开(显示隐藏)输入法

Delphi 获取当前目录下所有文件名3

Delphi与sql server存储过程编程详解

Delphi xe 获取android的路径信息

Delphi.about.com一个钩子的实现代码

Delphi 实现类似windows的查找功能-遍历整个硬盘目录

Delphi 取得文件夹及下一级文件夹下的文件列表

Delphi+sql数据库增加,删除,修改,查询操作

Delphi x秒生成大量垃圾字符

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...