C#获取字符串的拼音和首字母

原文:C#获取字符串的拼音和首字母

在C#中我们想要获取字符串的拼音并不是那么困难的,在网上看到很多都是特别笨的方式来实现,其实各有各的好处吧,如果使用了下方法方式,它不知道多音字,这就是一个问题。

 /// <summary>
        /// 获取全拼
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string GetFull(string str)
        {
            string PYstr = "";
            foreach (char item in str.ToCharArray())
            {
                if (Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(item))
                {
                    Microsoft.International.Converters.PinYinConverter.ChineseChar cc = new Microsoft.International.Converters.PinYinConverter.ChineseChar(item);
                    PYstr += cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1);
                }
                else
                {
                    PYstr += item.ToString();
                }
            }
            return PYstr;
        }

        /// <summary>
        /// 获取首字符
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string GetFrist(string str)
        {
            string PYstr = "";
            foreach (char item in str.ToCharArray())
            {
                if (Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(item))
                {
                    Microsoft.International.Converters.PinYinConverter.ChineseChar cc = new Microsoft.International.Converters.PinYinConverter.ChineseChar(item);
                    PYstr += cc.Pinyins[0][0];
                }
                else
                {
                    PYstr += item.ToString()[0];
                }
            }
            return PYstr;
        }

原文地址:https://www.cnblogs.com/lonelyxmas/p/11272626.html

时间: 2024-11-13 08:36:09

C#获取字符串的拼音和首字母的相关文章

MySQL数据库获取多个汉字拼音的首字母函数

需求简介:最近的一个项目,想实现如下图所示的显示效果.很明显,如果能够获取对应的汉字词组中每个汉字的拼音首字母就可以实现了,如果是固定的几组汉字,人为的拼一下就可以 了,不过项目中有多处功能需要这个效果,并且事先也不知道对应的汉字是什么,所以就需要一个函数来完成这件事情了,根据网上查询的资料自己改进了一个 函数实现的效果,现分享如下. 1:阅读建议      如果你还没有看过我上一篇博文——MySQL数据库获取汉字拼音的首字母函数,强烈建议请先看一下,因为本篇博文是在她的基础之上写的,相关雷同的

oracle函数获取汉字拼音的首字母

CREATE OR REPLACE FUNCTION F_TRANS_PINYIN_CAPITAL(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COMPARE VARCHAR2(100); V_RETURN VARCHAR2(4000); FUNCTION F_NLSSORT(P_WORD IN VARCHAR2) RETURN VARCHAR2 AS BEGIN RETURN NLSSORT(P_WORD, 'NLS_SORT=SCHINESE_PINYI

在vc中实现获取汉字拼音的首字母

在vc中实现获取汉字拼音的首字母 void GetFirstLetter(CString strName, CString& strFirstLetter){    TBYTE ucHigh, ucLow;    int  nCode;    CString strRet;    strFirstLetter.Empty();    for (int i=0; i<strName.GetLength(); i++)    {        if ( (TBYTE)strName[i] <

C#获取汉字拼音和首字母

C#获取汉字拼音和首字母 引入NPinyin using NPinyin; 调用 /// <summary> /// 中文首字母大写 /// </summary> /// <param name="str">中文</param> /// <returns></returns> public String GetSpellCode(string str) { Encoding gb2312 = Encoding.Ge

获取汉字全拼、首字母缩写

demo效果: 引用:using System.Collections; 后台代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.

[华为机试]输入数字的汉语拼音,每个拼音的首字母大写。输出该数字的阿拉伯数字。

//输入数字的汉语拼音,每个拼音的首字母大写.输出该数字的阿拉伯数字. //JiuBaiJiuShiJiu -> 999 #include<stdio.h> #include<string.h> int result = 0; void add(int n,char wei[]) { if(strcmp(wei,"Wan") == 0) result = result + n * 10000; else if(strcmp(wei,"Qian&q

查询城市(可根据汉字、拼音和首字母查询)

查询城市(可根据汉字.拼音和首字母查询) 可查询中国所有城市信息,并且支持全称.拼音及首字母模糊查询 注:第一次运行会进行数据库初始化操作,需要等待2-4分钟.再次运行则不需要等待.如果不想等待可以直接将压缩包中的city_info数据库文件拷贝到手机中的data/data/com.example.searchcity/databases/文件夹中 再注:程序会获取城市名称对应的拼音信息,需要导入jar包实现:pinyin4j.压缩包中已经放入了一个Jar包,包括文档. 下载地址:http://

提取汉字拼音的首字母

这个能取大部分汉字的首字母, 但还不全, 有些UNICODE的汉字是取不到的, 要想取到所有汉字的首字母,最好是能做一个UNICODE汉字和拼音的对照表,通过对照表查. GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个:同时,GB2312收录了包括拉丁字母.希腊字母.日文平假名及片假名字母.俄罗斯语西里尔字母在内的682个全形字符. GB2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖99.75%的使用频率.GB2312中对所收汉字进行了"分

iOS获取字符串的拼音

//获取字符串的拼音 - (NSString *)phonetic { NSString *str = [self stringByReplacingOccurrencesOfString:@"-" withString:@" "]; NSMutableString *source = [str mutableCopy]; CFStringTransform((__bridge CFMutableStringRef)source, NULL, kCFStringTr