全角转半角——数字、字母(一行代码之全角转半角)

一行代码之全角转半角

 1         using System.Text.RegularExpressions;
 2         /// <summary>
 3         /// 替换(全角<字母/数字> → 半角)
 4         /// 正则表达式 + lambda表达式 + 字符计算
 5         /// </summary>
 6         /// <param name="sBCStr">带有全角的字母数字的字符串</param>
 7         /// <returns></returns>
 8         public static string ConvertSBCToDBC(string sBCStr)
 9         {
10             // 全角0-9,Unicode字符表示:\uff10-\uff19
11             // 全角A-Z,Unicode字符表示:\uff21-\uff3a
12             // 全角a-z,Unicode字符表示:\uff41-\uff5a
13             // 全角与半角差值都为:65248
14             return Regex.Replace(sBCStr, "[\uff10-\uff19\uff21-\uff3a\uff41-\uff5a]", new MatchEvaluator(p => ((char)(char.Parse(p.Value) - 65248)).ToString()));
15         }

 

posted @ 2020-04-13 23:11  CasonZhao  阅读(817)  评论(0编辑  收藏  举报