Qt知识点梳理 —— 实现汉字转拼音全拼简拼及首字母
需求功能
输入一句汉语,转换成拼音全拼、简拼、每个字首字母及整句话首字母;
封装成单独的类,供后续使用方便;
运行效果
系统实现
汉语转拼音:
//汉语转拼音
QString CNLHelper::CNToPY(const QString &cnstr)
{QStringList list;for (int i = 0; i < cnstr.length(); ++i) {int unicode = QString::number(cnstr.at(i).unicode(), 10).toInt();if (unicode >= 0x4E00 && unicode <= 0x9FA5) {//这里的listPY就是按照UNICODE每个中文对应的拼音数组list.append(listPY.at(unicode - 0x4E00));} else {list.append(cnstr.at(i));}}return list.join(" ");
}
转简拼:
//汉语转所有字首字母
QString CNLHelper::CNToEL(const QString &cnstr)
{QString strChineseFirstPY = listJP.join("");if(cnstr.length() == 0) {return cnstr;}QString str;int index = 0;for(int i = 0; i < cnstr.length(); i++) {//若是字母或数字则直接输出ushort vChar = cnstr.at(i).unicode() ;if((vChar >= 'a' && vChar <= 'z' ) || (vChar >= 'A' && vChar <= 'Z')) {str.append(cnstr.at(i).toUpper());}if((vChar >= '0' && vChar <= '9')) {str.append(cnstr.at(i));} else {index = (int)vChar - 19968;if(index >= 0 && index < strChineseFirstPY.length()) {str.append(strChineseFirstPY.at(index));}}}return str;
}
汉语转第一个汉字首字母:
//汉语转第一个汉字首字母
QString CNLHelper::CNToFL(const QString &cnstr)
{return CNToEL(cnstr.mid(0,1));//取第一个汉字 并计算首字母
}
加入资源文件 “ cnl.txt ”:
项目源码
Github:lizhifun / QtCNLetter
Github 汉字拼音数据项目:mozillazg/pinyin-data
开发环境
Author:Lizhifun
OS:Windows 10 家庭中文版
Compiler:Microsoft Visual C++ Compiler 15.9.28307.1259(amd64)
Kit:Desktop Qt 5.14.2 MSVC2017 64bit
Qt Creator:4.11.1
参考文章:http://www.qtcn.org/bbs/read-htm-tid-65502.html
Qt知识点梳理 —— 实现汉字转拼音全拼简拼及首字母相关推荐
- SQL Server编写函数获取汉字的拼音码(简拼)
目录 1. 拼音码简介 2.自定义获取拼音码函数 1. 拼音码简介 拼音码一般分为全拼.简拼.双拼三大类.在数据库系统查询中,使用简拼查询能打打提高输入的速度,提高查询效率.比如,在药店系统中,查询药 ...
- sql文字转换全拼_SQL自定义函数:由汉字生成拼音全拼
SQL自定义函数:由汉字生成拼音全拼 CREATE function [dbo].[fun_GetPy_quanpin](@str varchar(100)) returns varchar(8000 ...
- java汉字转拼音(全拼、简拼)
java汉字转拼音(全拼.简拼) <dependency><groupId>com.belerweb</groupId><artifactId>piny ...
- Delphi汉字转拼音全拼
查询了很多网上汉字转拼音的方案,一种是用VBA实现的,另一种是只能转汉字首字母,结合VBA的方式,用Delphi实现汉字转拼音全拼的方法.附Delphi7写的例程链接 Delphi实现汉字转拼音全拼的 ...
- java将汉字转成拼音首字母大写字母_java 根据汉字生成拼音全拼或拼音首字母的示例...
1.情景展示 java 根据中文生成对应的拼音 2.准备工作 所需jar包:pinyin4j-2.5.0.jar 3.解决方案 导包 import net.sourceforge.pinyin4j.P ...
- java中获取中文拼音(全拼)和中文首字母
目录 一.引入依赖 二.代码 三.解释 1.创建格式化对象HanyuPinyinOutputFormat 2.设置输出结果的大小写格式 3.设置声调格式 4.进行汉字转拼音操作 四.作用 一.引入依赖 ...
- EasyUI下combobox中添加checkbox,并输入全拼简拼进行筛选显示
开发任务:combobox中对输入值进行全拼简拼的搜索筛选显示,并且可以多选,取消选择,重复搜索,于是简单的考虑了如下js操作,应该会有更好的,但也是一种方法吧.做个记录,便于后期查阅查考. 1.ht ...
- 利用易用宝——设置EXCEL 文本中,姓名拼音字母为姓全大写,名的首字母大写?
EXCEL 如何设置姓名的拼音字母为姓全大写,名的首字母大写? 如图: >>>>>>>>>>>>>>>> ...
- java 拼音转汉字_用Java转化汉字为拼音全拼
/** * @(#)CnToSpell.java * 版权声明 Easydozer 版权所有 违者必究 * * 修订记录: * 1)更改者:Easydozer * 时 间:2004-10-20 * ...
- 汉字转拼音/全拼/首字母
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.Pinyin4j 简介 二.使用步骤 1.引入依赖 2.具体实现 总结 前言 项目中需要通过组织名称获取对应的简拼 ...
最新文章
- 暑期集训1:C++STL 例3:UVA-12100
- 百度编辑器(ueditor)@功能之获取坐标
- Intellij idea 14 创建简单的Web项目
- 使用nomad部署mysql
- linux学习笔记:1.基础知识和命令行基本操作
- AFNetworking请求提示Invalid parameter not satisfying: URLString
- ROS学习——3 roslaunch的使用
- 关于postgre中的pg_hba.conf 文件
- java_interface的用法_Java注释@interface的用法
- 【NOIP2015】【Luogu2669】金币(模拟)
- JMeter学习笔记(四)
- ESRI.ArcGIS.Controls.AxMapControl
- php格式转换rar,如何在PHP中创建压缩的RAR文件?
- u8服务器修改数据源,用友U8服务器修改数据库端口
- 最新北风网 web全栈视频教程
- android_驱动_qcom_【高通SDM660平台 Android 10.0】(10) --- Camera Sensor lib 与 Kernel Camera Probe 代码分析
- vue 引入液晶数字字体
- Html Imput 的用法
- 未转变者服务器.id大全,Unturned未转变者Elver最新地图ID汇总 2021最新版ID大全
- 格林尼治时间(GMT)格式化