{从字符串中提取单词的函数} 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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧