C#根据百家姓,将姓转拼音处理
C#根据百家姓,将姓转拼音处理
1.准备百家姓,文字=》拼音对照表
如果需要json文件数据可以,添加微信:tianma104 要。
2.SurnamesHelper分装处理
public class SurnamesHelper
{/// <summary>/// 获取百家姓列表/// </summary>/// <returns></returns>public static List<Item> GetList(){string result = File.ReadAllText("surnames.json");return result.JsonDeserializer<List<Item>>();}/// <summary>/// 获取姓对应的拼音/// </summary>/// <returns></returns>public static string GetCode(string firstname){var first = GetList().Where(q => q.Name == firstname).FirstOrDefault();if (first == null)return string.Empty;return first.Code;}/// <summary>/// 获取姓对应的拼音--没有声调/// </summary>/// <returns></returns>public static string GetCode2(string firstname){string code = GetCode(firstname);if (string.IsNullOrEmpty(code))return string.Empty;char[] list = code.ToCharArray();Dictionary<char, char> dic = GetYuanYin();for (int i = 0; i < list.Length; i++){var item = list[i];var first = dic.Where(q => q.Key == item).FirstOrDefault();if (first.Value != 0){list[i] = first.Value;}}return String.Join("", list);}/// <summary>/// 获取元音对照表/// </summary>/// <returns></returns>public static Dictionary<char, char> GetYuanYin(){Dictionary<char, char> dic = new Dictionary<char, char>();dic.Add('ā', 'a');dic.Add('á', 'a');dic.Add('ǎ', 'a');dic.Add('à', 'a');dic.Add('ē', 'e');dic.Add('é', 'e');dic.Add('ě', 'e');dic.Add('è', 'e');dic.Add('ī', 'i');dic.Add('í', 'i');dic.Add('ǐ', 'i');dic.Add('ì', 'i');dic.Add('ō', 'o');dic.Add('ó', 'o');dic.Add('ǒ', 'o');dic.Add('ò', 'o');dic.Add('ū', 'u');dic.Add('ú', 'u');dic.Add('ǔ', 'u');dic.Add('ù', 'u');dic.Add('ǖ', 'v');dic.Add('ǘ', 'v');dic.Add('ǚ', 'v');dic.Add('ǜ', 'v');return dic;}public class Item{public string Name { get; set; } //名字public string Code { get; set; }//拼音,带声调}
}
3.使用案例
Console.WriteLine(SurnamesHelper.GetCode("谢"));Console.WriteLine(SurnamesHelper.GetCode("张"));Console.WriteLine(SurnamesHelper.GetCode("解"));Console.WriteLine(SurnamesHelper.GetCode2("谢"));Console.WriteLine(SurnamesHelper.GetCode2("张"));Console.WriteLine(SurnamesHelper.GetCode2("解"));
更多:
C#将带声调的拼音转不带声调的拼音
C#汉字转拼音_Microsoft.PinYinConverter汉字转拼音
C# 中文简体中文繁体转换_ChineseConverter
C#根据百家姓,将姓转拼音处理相关推荐
- php汉字转拼音百家姓版,砚田马中华书《百家姓》(文字拼音版)
zhào qián sūn lǐ 赵 钱 孙 李zhōu wú zhèng wáng 周 吴 郑 王féng chén chǔ wèi 冯 陈 褚 卫 jiǎng shěn h ...
- Excel如何将姓名转为拼音并将姓和名分开显示
如下图A列是一些人员姓名,现在想要将这些人名姓的拼音放在B列,名的拼音放在C列. 全选所有姓名数据单元格区域 点击下图选项(Excel工具箱,百度即可了解详细下载安装方法,本文这里不想详细解说) 点击 ...
- JS实现拼音(字母)匹配(搜索)汉字(姓名)
这就是个模糊查询,我们平常做的都是直接输入汉字去把对应的值过滤出来,但我还真是第一次通过拼音去查询(当然不只是拼音,汉字也是可以的),以前还真没注意这个.唉,这可咋搞,我怎么知道某个汉字(字符串)的拼 ...
- vue汉字转拼音-pinyin.js
需求:用户在输入姓和名字的时候,由于姓(拼音)和名(拼音)为字母,容易输错,于是就有了自动生成拼音这个需求 npm install安装的四种用法-save和-save-dev npm install ...
- java 汉字转拼音缩写_汉字转拼音 java 工具类
package qing.huang; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import ...
- python将汉字转化为拼音
python将汉字转化为拼音 安装 依赖python包:pypinyin 直接pip install pypinyin即可 常用方法及场景案例 from pypinyin import pinyin, ...
- 使用sed删除拼音的音调
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 有时候我们对文档过滤会有这样的需求: 筛选或删除文档中的不规则 ...
- php复姓怎么排序,怎样“按姓氏笔画排列”? 复姓和少数民族姓氏如何排列? 男女同名谁在前...
最近几天,我们经常在新闻里看到"按姓氏笔画排列",罗列出一串姓名,一时从这些名字的知名度上来看,以为很多应该排名靠前的却找不见.其实关于这个排列方法,一般人的认识都或许有两个误区: ...
- SSM中向后端传递的属性为多个对象的实现方法
场景 在机票预定的业务场景中,jsp页面需要记录航班相关信息和联系人相关信息还要记录多个乘客的相关信息.这就需要在向后端传值时某乘客属性为多个对象. 实现 所有的数据封装成一个Moel类,其中航班信息 ...
最新文章
- 【GDAL】聊聊GDAL的数据模型(二)——Band对象
- 数据库系统概念总结:第八章 关系数据库设计
- oppoa9处理器怎么样_oppoA9究竟怎么样?看看与三星A60元气版的对比吧
- WebBrowser!
- 程序员年纪越大,工作被取代性越强
- Android Activity界面切换添加动画特效 (转载修改)
- 【亲测有效】Ubuntu18.04 sudo apt update无法解析域名的解决方案
- 知乎_线程和进程的区别是什么?
- 用计算机遥感技术图片,遥感图像处理
- 热敏打印机排版—打印机的指令
- matlab插值与拟合例题_数学建模matlab插值与拟合
- 联盛德W801系列9-wifi和4G模块(air724ug)并存使用MQTT总结
- 计算机控制点火系统如何控制点火提前角,点火提前角有什么控制
- 败家女提供QQ伤感日志_喜欢1个人听着忧伤的歌
- 红烧茄子做法--小黄讲解
- 【吴刚】电商活动站设计初级入门标准视频教程-吴刚-专题视频课程
- socket本地通信
- 6827台!中移动数据中心交换机采购结果公示 华为、中兴遭滑铁卢
- 每一年,每一天,我们都在进步
- ElementUi的侧边栏操作