delphi如何判断字符串是否包含汉字(delphi,开发技术)

时间:2024-05-06 23:45:46 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

这篇“delphi如何判断字符串是否包含汉字”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“delphi如何判断字符串是否包含汉字”文章吧。

代码

//正则版usesRegularExpressions;//相关单元functionIsChineseStr(s:String):Boolean;constpattern='[\x{4E00}-\x{9FA5}]';//测试用的表达式beginResult:=false;ifTRegEx.IsMatch(s,pattern)thenbeginResult:=True;end;end;//非正则版functionisChina(S:string):Boolean;varpStr:PWideChar;beginResult:=false;pStr:=PChar(S);whilepStr^<>#0dobegincasepStr^ofChar($4E00)..Char($9FCB):beginResult:=True;Break;end;end;Inc(pStr);end;end;

改进版

functionIsChina(S:string):Boolean;varpStr:PWideChar;functionHexToInt(constHexValue:string):Integer;beginVal('$'+HexValue,Result,Result);end;functionInChar(AChar:Char;AStart,AEnd:string):Boolean;beginResult:=(Ord(AChar)>=HexToInt(AStart))and(Ord(AChar)<=HexToInt(AEnd))end;beginResult:=false;pStr:=PWideChar(S);whilepStr^<>#0dobeginifInChar(pStr^,'4E00','9FA5')//orInChar(pStr^,'9FA6','9FEF')//基本汉字补充74字orInChar(pStr^,'3400','4DB5')//扩展AorInChar(pStr^,'20000','2A6D6')//扩展B42711字orInChar(pStr^,'2A700','2B734')//扩展C4149字orInChar(pStr^,'2B740','2B81D')//扩展D222字2B740-2B81DorInChar(pStr^,'2B820','2CEA1')//PUA(GBK)部件81字E815-E86ForInChar(pStr^,'E815','E86F')//扩展E5762字2B820-2CEA1orInChar(pStr^,'2CEB0','2EBE0')//扩展F7473字2CEB0-2EBE0orInChar(pStr^,'30000','3134A')//扩展G4939字30000-3134AorInChar(pStr^,'2F00','2FD5')//康熙部首214字2F00-2FD5orInChar(pStr^,'2E80','2EF3')//部首扩展115字2E80-2EF3orInChar(pStr^,'F900','FAD9')//兼容汉字477字F900-FAD9orInChar(pStr^,'2F800','2FA1D')//兼容扩展542字2F800-2FA1DorInChar(pStr^,'E400','E5E8')//部件扩展452字E400-E5E8orInChar(pStr^,'E600','E6CF')//PUA增补207字E600-E6CForInChar(pStr^,'31C0','31E3')//汉字笔画36字31C0-31E3orInChar(pStr^,'2FF0','2FFB')//汉字结构12字2FF0-2FFBorInChar(pStr^,'3105','312F')//汉语注音43字3105-312ForInChar(pStr^,'31A0','31BA')//注音扩展22字31A0-31BAorInChar(pStr^,'3007','3007')//?1字3007thenbeginResult:=True;Break;end;Inc(pStr);end;end;

版本3:

delphi如何判断字符串是否包含汉字

上面代码可以满足大部分需求。

DelphiFmx.com 发现非正则得小问题:

delphi如何判断字符串是否包含汉字

以上就是关于“delphi如何判断字符串是否包含汉字”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

本文:delphi如何判断字符串是否包含汉字的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:delphi怎么判断字符串是否为纯字母组合下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18