然而,今天无意间,发现一个引用,貌似解决了这个问题。
添加ChineseConvertPinyin引用。
使用方式:
static void Main(string[] args) { string chinese = "音乐,乐器,快乐,你和我,应和,和稀泥"; ChineseConvertPinyin.ChineseToPinyin CTP = new ChineseConvertPinyin.ChineseToPinyin(); var result = CTP.GetFullPinyin(chinese); Console.WriteLine(result); Console.ReadLine(); }
连“和稀泥”都识别了,可见对多音字的识别已经做到很好了。
实例2: 将字符串的每个字符进行颠倒输出
将Hello world! 颠倒输出:
实现效果:
实现代码:
static void Main(string[] args) { string text = "Hello world!"; char[] ch = text.ToArray(); Array.Reverse(ch,0,text.Length); Console.WriteLine("颠倒后的字符串输出:" + new StringBuilder().Append(ch).ToString()); Console.ReadLine(); }
注意,这里使用的Array类提供的方法,而不是char类型里面的方法。
其次,输出时,也是将字符存入StringBuilder后tostring(),直接将char.tostring()的话,得到的时system.char[]。
实例3:从字符串中分离文件路径、文件名及扩展名
实现效果:
实现代码:
private void button1_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.OK) { string file = openFileDialog.FileName; this.textBox1.Text = file.Substring(0, file.LastIndexOf("\\") + 1); this.textBox2.Text = file.Split('\\')[file.Split('\\').Length - 1].Split('.')[0]; this.textBox3.Text = file.Split('\\')[file.Split('\\').Length - 1].Split('.')[1]; } }
实例4: 获取字符串中汉字的个数
判断字符串“一个汉字,is right?”汉字个数。
实现效果:
实现代码:
static void Main(string[] args) { int count = 0; string hanzi = "一个汉字,is right?"; Regex P_regex = new Regex("^[\u4E00-\u9FA5]{0,}$"); //创建正则表达式对象,用于判断字符是否为汉字 for (int i = 0; i < hanzi.Length; i++) { count = P_regex.IsMatch(hanzi[i].ToString()) ? ++count:count; } Console.WriteLine("汉字个数:" + count.ToString()); Console.ReadLine(); }
作者:张中华
链接:https://www.jianshu.com/p/9da3c245f01c
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦