zoukankan      html  css  js  c++  java
  • 中文转化汉语拼音如此简单

    中文转汉语拼音就是这么简单

      在各种各式的需求中,开发人员难免会遇到那种中文转换成汉语拼音的要求。这时候,对于我们开发新手来讲的话还是比较繁琐的。这时候,我们可以去微软官网下载Microsoft Visual Studio International Pack语言包,下载地址分别如下:

    Microsoft Visual Studio International Pack 1.0 SR1Microsoft Visual Studio International Feature Pack 2.0

    下载后分别是“vsintlpack1.zip”、“Vsintlpack2.msi”、双击“Vsintlpack2.msi”安装、路径随意、但是要记得、因为一会要引用的、

     安装“Vsintlpack2.msi”之后、解压“vsintlpack1.zip”、里面包含七个语言包、
     例如中文转拼音“CHSPinYinConv.msi”、简体繁体互转“CHTCHSConv.msi”等等。。

    引用到项目中就可以对中文进行各式各样的拼音转换了,下面是控制输入任何中文转换成品应的代码。。。

    using Microsoft.International.Converters.PinYinConverter;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace 汉化包拼音学习
    {
    class Program
    {
    static void Main(string[] args)
    {
    Contitue();
    Console.ReadKey();
    }
    /// <summary>
    /// 汉化
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public static string ConvertToPinYin(string str)
    {
    string PYstr = "";
    foreach (char item in str.ToCharArray())
    {
    if (ChineseChar.IsValidChar(item))
    {
    ChineseChar cc = new ChineseChar(item);
    //拼音全称大写
    var pyqc = cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1);
    //PYstr += string.Join("", cc.Pinyins.ToArray());
    //PYstr += pyqc.Substring(0, 1).ToLower();//拼音缩写(小写)
    PYstr += String.Format("{0}{1}", pyqc.Substring(0, 1).ToUpper(), pyqc.Substring(1).ToLower());//第一个字符大写其他的小写,如ZhangSan
    }
    else
    {
    PYstr += item.ToString();
    }
    }
    return PYstr;
    }
    static void Contitue()
    {
    Console.WriteLine("请输入需要汉化的中文:");
    var ss = Console.ReadLine();
    Console.WriteLine(ConvertToPinYin(ss));
    Console.WriteLine();//换行
    Contitue();//递归 可以继续输入
    }
    }
    }

    效果图如下

    但是有误=youwu,无敌=MoDi,只能说中文太强悍了,毕竟是世界上最难学的语言了吧。。。有的多音字更是没办法的区分的。。

    还有的方法是,把应用的中文定义一个数组,拼音对应成另一个数组,然后一一对照。。。。这种方法处理起来也是比较麻烦的,毕竟中文都没学全的程序员更是一种殇。。。。。

     

     

  • 相关阅读:
    QT 主窗口和子窗口相互切换示例
    《漫画线性代数》读书笔记 通读小结
    “网购懊悔权”为何与“机动车撞人负全责”一样扯淡?
    第十六周oj刷题——Problem J: 填空题:静态成员---计算学生个数
    HDU 1269 迷宫城堡(强连通)
    HashSet的排序
    android:改动PagerTabStrip中的背景颜色,标题字体的样式、颜色和图标以及指示条的颜色
    Spring中的FactoryBean
    免费APP在线測试工具以及其用法
    freemarker的TemplateExceptionHandler使用
  • 原文地址:https://www.cnblogs.com/huage-1234/p/7244717.html
Copyright © 2011-2022 走看看