本文通過執行個體代碼給大家介紹了使用C#的Regex驗證中文字元的方法,需要的的朋友參考下吧
廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;namespace 正則表達01{ /// <summary> /// 表達是否是字元是不是中文 /// </summary> class Program { /// <summary> /// 在 ASCII碼錶中,英文的範圍是0-127,而漢字則是大於127 /// </summary> static void justice1() { string text = "adonai,天下英雄出我輩,一入江湖歲月催。鴻圖霸業談笑間,不勝人生一場醉。 提劍跨騎揮鬼雨,白骨如山鳥驚飛。 塵世如潮人如水,只歎江湖幾人回"; for (int i = 0; i < text.Length; i++) { if ((int)text[i] > 127) Console.WriteLine("是漢字"); else Console.WriteLine("不是漢字"); } } /// <summary> /// 漢字的UNICODE編碼範圍是4e00-9fbb /// </summary> static void justice2() { string text = "adonai,天下英雄出我輩,一入江湖歲月催。鴻圖霸業談笑間,不勝人生一場醉。 提劍跨騎揮鬼雨,白骨如山鳥驚飛。 塵世如潮人如水,只歎江湖幾人回"; char[] c = text.ToCharArray(); for (int i = 0; i < c.Length; i++) if (c[i] >= 0x4e00 && c[i] <= 0x9fbb) Console.WriteLine("是漢字"); else Console.WriteLine("不是漢字"); } /// <summary> /// Regex判斷也是用漢字的 UNICODE 編碼範圍 /// </summary> static void justice3() { string text = "adonai,天下英雄出我輩,一入江湖歲月催。鴻圖霸業談笑間,不勝人生一場醉。 提劍跨騎揮鬼雨,白骨如山鳥驚飛。 塵世如潮人如水,只歎江湖幾人回"; for (int i = 0; i < text.Length; i++) { if (Regex.IsMatch(text[i].ToString(), @"[\u4e00-\u9fbb]")) Console.WriteLine("是漢字"); else Console.WriteLine("不是漢字"); } } static void Main(string[] args) { justice1(); Console.ReadKey(); } }}