全角转半角——数字、字母(一行代码之全角转半角)
一行代码之全角转半角
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 }