CSharp: pinyin in net 5 汉字拼音声调
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | using System; using NPinyin; //https://github.com/WuTong1995/NPinyin using Microsoft.International.Converters.PinYinConverter; using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter; using System.Linq; using System.Text.RegularExpressions; using System.Text; /* css https://www.w3.org/International/questions/qa-ruby https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/rt https://www.microsoft.com/en-us/download/details.aspx?id=18970 */ namespace ConsoleApp1 { class Program { static void Main( string [] args) { var hans = "涂聚文是中国江西吉州人,言语成了抢功尽责的功臣,还要行为来值班吗" ; var pinyin = new Pinyin(); pinyin.Option = new PinyinOption() { //Style = PinyinStyle.Normal, // 不带声调(默认) zhong wen Style = PinyinStyle.Tone, // 带声调 zhōng wén EnableInterval = true // 多个拼音之间是否启用间隔 zhong wen zhongwen }; var result = pinyin.ConvertToPinyin(hans); // zhong wen var pi = GetPinYin(hans); var pin = GetPinYinFull(hans); Console.WriteLine( "Hello C# World! geovindu\t\n" ); Console.WriteLine(result.ToString()+ "\t\n" ); Console.WriteLine(pi.ToString() + "\t\n" ); Console.WriteLine(pin.ToString() + "\t\n" ); } /// <summary> /// 获得中文字符串的拼音 没有声调 /// </summary> /// <param name="str"></param> /// <returns></returns> private static string GetPinYin( string str) { string py = "" ; for ( int i = 0; i < str.Length; i++) { if (ChineseChar.IsValidChar(str[i])) //判断当前字符是不是汉字 { ChineseChar cc = new ChineseChar(str[i]); //构造方法 py += " " + cc.Pinyins[0].TrimEnd( '1' , '2' , '3' , '4' , '5' ).ToLower(); } else //不是汉字的话 加本身 { py += " " + str[i]; } } return py; } ///<summary> /// 汉字 /// </summary> private static string ChineseReg = "^[\\u4E00-\\u9FA5]+$" ; public static string GetPinYinFull( string str) { var pySb = new StringBuilder(); foreach ( var itemChar in str) { //过滤非汉字的字符,直接返回 var reg = new Regex(ChineseReg); if (!reg.IsMatch(itemChar.ToString())) { pySb.Append( " " + itemChar); } else { var chineseChar = new ChineseChar(itemChar); //var pyStr = chineseChar.Pinyins.First().ToLower(); var pyStr = chineseChar.Pinyins.First().ToUpper(); pySb.Append( " " + pyStr.Substring(0, pyStr.Length - 1)); } } return pySb.ToString(); } // <summary> /// 简体转换为繁体 /// </summary> /// <param name="str">简体字</param> /// <returns>繁体字</returns> public static string GetTraditional( string str) { string r = string .Empty; r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional); return r; } /// <summary> /// 繁体转换为简体 /// </summary> /// <param name="str">繁体字</param> /// <returns>简体字</returns> public static string GetSimplified( string str) { string r = string .Empty; r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified); return r; } } } |
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
分类:
CSharp code
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2016-01-06 C# Web Forms - Using jQuery FullCalendar
2015-01-06 sql server query to get the list of column name in a table