c# 中文字符(全角、半角)通用处理
生活随笔
收集整理的這篇文章主要介紹了
c# 中文字符(全角、半角)通用处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
聲明:本文僅提供一種編程思路,所提供代碼僅供參考,如需使用,請自行完善。我們在做程序的的時候經常要處理用戶輸入,作為我們的主要語言中文,經常會出現全角、半角的問題,這會在查詢時給我們帶來很多麻煩。本文采用擴展方法解決全半角切換的問題,效果圖
代碼如下: ????????public?static?void?Example(string?userInput)????????{????????????string?sbc?=?userInput.ToSBC();?//轉全角????????????//具體操作,如存入數據庫?????????????string?dbc?=?userInput.ToDBC();//轉半角????????????//具體操作,如存入數據庫?????????}????????///?<summary>????????///?轉全角(SBC?case)????????///?</summary>????????///?<param?name="input">任意字符串</param>????????///?<returns>全角字符串</returns>????????public?static?string?ToSBC(this?string?input)????????{????????????char[]?c?=?input.ToCharArray();????????????for?(int?i?=?0;?i?<?c.Length;?i++)????????????{????????????????if?(c[i]?==?32)????????????????{????????????????????c[i]?=?(char)12288;????????????????????continue;????????????????}????????????????if?(c[i]?<?127)????????????????????c[i]?=?(char)(c[i]?+?65248);????????????}????????????return?new?string(c);????????}????????///?<summary>????????///?轉半角(DBC?case)????????///?</summary>????????///?<param?name="input">任意字符串</param>????????///?<returns>半角字符串</returns>????????public?static?string?ToDBC(this?string?input)????????{????????????char[]?c?=?input.ToCharArray();????????????for?(int?i?=?0;?i?<?c.Length;?i++)????????????{????????????????if?(c[i]?==?12288)????????????????{????????????????????c[i]?=?(char)32;????????????????????continue;????????????????}????????????????if?(c[i]?>?65280?&&?c[i]?<?65375)????????????????????c[i]?=?(char)(c[i]?-?65248);????????????}????????????return?new?string(c);????????}中文處理中另一個常用的是獲取拼音首字母,如:中華人民共和國,首字母為ZHRMGHG。很多庫存管理程序中都將這個作為助記碼,用作快速查詢。這里只給出擴展定義和示例,具體實現網上很多,但大部分都不能解決多音字的問題。
????????public?static?void?Example2(string?productName)????????{????????????string?shortName?=?productName.GetChineseSpell();????????}????????///?<summary>????????///?獲取漢字拼音首字母????????///?</summary>????????///?<param?name="s">輸入</param>????????///?<returns>漢字拼音首字母,其它字符原樣返回</returns>????????public?static?string?GetChineseSpell(this?string?s)????????{????????????return?null;//請自行完成????????}還有中文簡體繁體互轉,也可以擴展進來。
總結
以上是生活随笔為你收集整理的c# 中文字符(全角、半角)通用处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机银行换手机了怎么登录
- 下一篇: C# html的Table导出到Exce