>  기사  >  백엔드 개발  >  C#의 정규 표현식이 한자의 유효성을 검사하는 방법의 예

C#의 정규 표현식이 한자의 유효성을 검사하는 방법의 예

黄舟
黄舟원래의
2017-07-26 15:28:001834검색

이 글에서는 C#의 정규식을 활용한 한자 검증 방법을 예제 코드를 통해 소개합니다. 필요하신 분들은 참고하시면 됩니다.

더 이상 헛소리하지 마시고, 구체적인 코드는 다음과 같습니다. :


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>
    /// 正则表达式判断也是用汉字的 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();
    }
  }
}

위 내용은 C#의 정규 표현식이 한자의 유효성을 검사하는 방법의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.