c# 中文字符(全角、半角)通用处理
生活随笔
收集整理的這篇文章主要介紹了
c# 中文字符(全角、半角)通用处理
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
聲明:本文僅提供一種編程思路,所提供代碼僅供參考,如需使用,請(qǐng)自行完善。我們?cè)谧龀绦虻牡臅r(shí)候經(jīng)常要處理用戶(hù)輸入,作為我們的主要語(yǔ)言中文,經(jīng)常會(huì)出現(xiàn)全角、半角的問(wèn)題,這會(huì)在查詢(xún)時(shí)給我們帶來(lái)很多麻煩。本文采用擴(kuò)展方法解決全半角切換的問(wèn)題,效果圖
代碼如下: ????????public?static?void?Example(string?userInput)????????{????????????string?sbc?=?userInput.ToSBC();?//轉(zhuǎn)全角????????????//具體操作,如存入數(shù)據(jù)庫(kù)?????????????string?dbc?=?userInput.ToDBC();//轉(zhuǎn)半角????????????//具體操作,如存入數(shù)據(jù)庫(kù)?????????}????????///?<summary>????????///?轉(zhuǎn)全角(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>????????///?轉(zhuǎn)半角(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);????????}中文處理中另一個(gè)常用的是獲取拼音首字母,如:中華人民共和國(guó),首字母為ZHRMGHG。很多庫(kù)存管理程序中都將這個(gè)作為助記碼,用作快速查詢(xún)。這里只給出擴(kuò)展定義和示例,具體實(shí)現(xiàn)網(wǎng)上很多,但大部分都不能解決多音字的問(wèn)題。
????????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;//請(qǐng)自行完成????????}還有中文簡(jiǎn)體繁體互轉(zhuǎn),也可以擴(kuò)展進(jìn)來(lái)。
總結(jié)
以上是生活随笔為你收集整理的c# 中文字符(全角、半角)通用处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 手机银行换手机了怎么登录
- 下一篇: 新加坡银行开户流程