全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

iOS中自带超强中文分词器的实现方法

说明

在处理文本的时候,第一步往往是将字符串进行分词,得到一个个关键词。苹果从很早就开始支持中文分词了,而且我们几乎人人每天都会用到,回想一下,在使用手机时,长按一段文字,往往会选中按住位置的一个词语,这里就是一个分词的绝佳用例,而iOS自带的分词效果非常棒,大家可以自己平常注意观察一下,基本对中文也有很好的效果。而这个功能也开放了API供开发者调用,我试用了一下,很好用!

效果如下:

实现

其实苹果给出了完整的API,想要全面了解的可以直接看文档:CFStringTokenizer Reference

这里说说简单的一个实现:

 // 要分词的字符串
 NSString *string = @"侠士隐锋,莽夫露刃";

 self.keywords = [[NSMutableArray alloc] init];
 CFStringTokenizerRef ref = CFStringTokenizerCreate(NULL, (__bridge CFStringRef)string, CFRangeMake(0, string.length), kCFStringTokenizerUnitWord, NULL);// 创建分词器
 CFRange range;// 当前分词的位置
 // 获取第一个分词的范围
 CFStringTokenizerAdvanceToNextToken(ref);
 range = CFStringTokenizerGetCurrentTokenRange(ref);

 // 循环遍历获取所有分词并记录到数组中
 NSString *keyWord;
 while (range.length>0) {
  keyWord = [string substringWithRange:NSMakeRange(range.location, range.length)];
  [self.keywords addObject:keyWord];
  CFStringTokenizerAdvanceToNextToken(ref);
  range = CFStringTokenizerGetCurrentTokenRange(ref);
 }

其实逻辑很简单:创建分词器–>一个个地一次获取分词后的每个词的起始位置和长度,从而取出词。

示例里我用列表显示每个分词,比较清楚,列表的实现就不说明了,可以直接看工程代码。

值得一提的是,其分词速度很快,甚至一些网络词汇比如“木有”,一些成语等等都能够识别出,能看出这是分词的什么吗:

示例工程:https://github.com/Cloudox/OXStringTokenizerDemo

本地下载:http://xiazai./201706/yuanma/OXStringTokenizerDemo().rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# ios  # 分词  # 中文分词器  # 分词器  # Java实现简易的分词器功能  # docker 部署 Elasticsearch kibana及ik分词器详解  # 如何在docker容器内部安装kibana分词器  # docker 安装solr8.6.2 配置中文分词器的方法  # 安装elasticsearch-analysis-ik中文分词器的步骤讲解  # Solr通过特殊字符分词实现自定义分词器详解  # JAVA StringBuffer类与StringTokenizer类代码解析  # 基于Java中的StringTokenizer类详解(推荐)  # 浅谈分词器Tokenizer  # 关键词  # 可以直接  # 的是  # 这是  # 也有  # 很好  # 本地下载  # 出了  # 第一个  # 机时  # 就不  # 遍历  # 我用  # 很简单  # 这篇文章  # 自带  # 谢谢大家  # 一提  # 说明了  # 往往会 


相关文章: 韩国服务器如何优化跨境访问实现高效连接?  如何通过西部数码建站助手快速创建专业网站?  c# 在ASP.NET Core中管理和取消后台任务  如何快速查询网址的建站时间与历史轨迹?  音响网站制作视频教程,隆霸音响官方网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  SQL查询语句优化的实用方法总结  Python lxml的etree和ElementTree有什么区别  广州建站公司哪家好?十大优质服务商推荐  建站之星Pro快速搭建教程:模板选择与功能配置指南  制作销售网站教学视频,销售网站有哪些?  建站之星安装后界面空白如何解决?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  完全自定义免费建站平台:主题模板在线生成一站式服务  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  建站VPS推荐:2025年高性能服务器配置指南  Android自定义控件实现温度旋转按钮效果  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  如何在Windows服务器上快速搭建网站?  建站主机类型有哪些?如何正确选型  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在云主机上快速搭建网站?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  如何在IIS7上新建站点并设置安全权限?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  建站之星如何快速更换网站模板?  如何选择美橙互联多站合一建站方案?  ,怎么在广州志愿者网站注册?  网页设计网站制作软件,microsoft office哪个可以创建网页?  如何快速选择适合个人网站的云服务器配置?  网站制作服务平台,有什么网站可以发布本地服务信息?  如何在宝塔面板中修改默认建站目录?  网站制作免费,什么网站能看正片电影?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  广东企业建站网站优化与SEO营销核心策略指南  网站制作新手教程,新手建设一个网站需要注意些什么?  如何在阿里云高效完成企业建站全流程?  购物网站制作公司有哪些,哪个购物网站比较好?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何彻底卸载建站之星软件?  如何在腾讯云免费申请建站?  常州企业建站如何选择最佳模板?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  建站之星后台管理系统如何操作?  建站之星微信建站一键生成小程序+多端营销系统  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  无锡营销型网站制作公司,无锡网选车牌流程?  建站OpenVZ教程与优化策略:配置指南与性能提升  如何选择高效响应式自助建站源码系统?  如何在服务器上配置二级域名建站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。