`

【摘自万一的博客】 从字符串中提取单词、从字符串中提取汉字的函数

 
阅读更多

{从字符串中提取单词的函数}
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;

{从字符串中提取汉字的函数}
procedure StrToHanZiList(str: string; var List: TStringList);
var
  p: PWideChar;
begin
  if List = nil then List := TStringList.Create;
  List.Clear;
  {去除重复}
  List.Sorted := True;
  List.Duplicates := dupIgnore;
 
  p := PWideChar(str);
  while p^ <> #0 do
  begin
    case p^ of
      #$4E00..#$9FA5: List.Add(p^);
    end;
    Inc(p);
  end;
end;





【附带一个提取字符串内容的函数】
用下面函数:
function getstr(str:string):string;
var
beginpos,endpos:integer;
substr:string;
begin
result:='';
endpos:=pos('>',str);
substr:=copy(str,endpos+1,length(str)-endpos);
beginpos:=pos('<',substr);
result:=copy(substr,1,beginpos-1);
end;

调用时就写
getstr('<title>9.9</title>');
得到的是9.9
分享到:
评论

相关推荐

    Halcon学习_基于组件的匹配find_text提取字符.docx

    Halcon学习-算子/基于组件的匹配/find_text提取字符,摘自KKK5的博客,希望对大家有所帮助

    C语言中返回字符串函数的四种实现方法

     ******************以下摘自csdn******************************  其实是要返回一个有效的指针,尾部变量退出后无效了。  使用分配的内存,地址是有效  char *fun()  {  char* s = (char*)calloc...

    C++字符串完全指引

    本文摘自VC知识库 原著:Michael Dunn 翻译:Chengjie Sun 对C++字符串非常详尽的解释,我看完后对以前比较模糊的多字符集、宽字节等概念有种豁然开朗的感觉。特地分享给大家。

    缠师心法荟萃(摘自悟多整理的缠中说禅博客回复).doc

    缠师心法荟萃(摘自悟多整理的缠中说禅博客回复).doc

    介绍API函数的中文帮助文件

    本帮助文件由个人整理后出版,内容全摘自网络。版权归实际作者所有。 为了让网友们能更好的... 本帮助文件中的Windows API 函数大约有774个,共分十二大类,基本上包括了大部分的常用和非常用的Windows API 函数。

    java数组函数(摘自JAVA编程思想)

    java 数组 函数 可以简易的对数组进行输出等。引用包import com.bruceeckel.util.*;即可。摘自JAVA编程思想。

    C/C++语言函数 中文参考手册chm

    C/C++语言函数 中文参考手册。 此文档英文原文摘自www.cppreference.com 以下C-Free的支持者,为文档的翻译做出贡献,特此感谢: Dreamby , sirius , Vic Zhang , Lauren.Jc , Rexzhou , power , littlestone

    PHP中将字符串转化为整数(int) intval() printf() 性能测试

    web程序将get或post来的id、整数等值强制经过转化函数转化为整数,过滤掉危险字符,尽可能降低系统本身被Sql注入的可能性。  现如今,虽然Sql注入已经逐渐淡出历史舞台,但是,为了保证web程序的正常运行,减少...

    regex-derivatives:简单的正则表达式匹配器,使用派生词来匹配字符串

    它没有使用回溯或有限自动机来匹配字符串,而是使用了派生函数。 这个想法和算法摘自的博客文章。 安装 git clone https://github.com/dwnusbaum/regex-derivatives.git cd regex-derivatives cabal update && ...

    API函数详细说明库 CHM

    声明: 本帮助文件由陈国强个人整理后出版,内容全摘自网络。版权归实际作者所有。... 本帮助文件中的Windows API 函数大约有774个,共分十二大类,基本上包括了大部分的常用和非常用的Windows API 函数。

    最新Windows API 函数.chm

    本帮助文件中的Windows API 函数大约有774个,共分十二大类,基本上包括了大部分的常用和非常用的Windows API 函数。 作者简介: 姓名:陈国强 网名:Sealife E-mail:Subchen@kali.com.cn 网名:Visual ...

    object-path:字符串语法,用于从数组和对象层次结构中获取值

    允许使用简单的字符串语法遍历对象和数组。 摘自Peridot的匹配库: 。 用法 $ data = [ 'name' =&gt; 'Brian' , 'hobbies' =&gt; [ 'reading' , 'programming' , 'lion taming' ], 'address' =&gt; [ 'street' =&gt; ...

    Excel VBA函数参考手册

    Excel VBA函数参考手册,摘自Excel2003VBA帮助.

    API函数参考手册(关于本手册)

    本帮助文件中的Windows API 函数大约有774个,共分十二大类,基本上包括了大部分的常用和非常用的Windows API 函数,按分类编排,具有索引功能,支持全文检索,可添加到收藏夹。 声明:本帮助文件由Raise Belling...

    Windows API 函数 for Visual Basic

    Windows API 函数 for Visual Basic 声明: 本帮助文件由陈国强个人整理后出版,内容全摘自... 本帮助文件中的Windows API 函数大约有774个,共分十二大类,基本上包括了大部分的常用和非常用的Windows API 函数。

    C语言读取汉字字模 摘自网络.doc

    C语言读取汉字字模 摘自网络

    windowsapi函数介绍

    本帮助文件由陈国强个人整理后出版,内容全摘自网络。版权归实际作者所有。... &lt;br&gt; 本帮助文件中的Windows API 函数大约有774个,共分十二大类,基本上包括了大部分的常用和非常用的Windows API 函数

    我的函数库

    // 这一部分的函数摘自其他作者处.姓名不详 //==============================================================================  function GetDisplayFrequency: Integer; //获取显示刷新率  function ...

Global site tag (gtag.js) - Google Analytics