c#利用正则表达式获取字符串中汉字的个数

发布时间 2023-12-06 21:09:05作者: 瞬间moment

利用正则表达式获取字符串中汉字的个数

  string str =@"D:\文档\C#BASE\StringBuilder.md";
  Regex   regex = new Regex("^[\u4e00-\u9fa5]{0,}$");
  int count = 0;
  for(int i = 0; i < str.Length; i++)
  {
      count=regex.IsMatch(str[i].ToString())?++count:count;
  }
     Console.WriteLine(count);

注意这里的变量count使用的是++count而不是count++

++ii++都是递增运算符,用于将变量的值增加1。

区别在于它们的前缀和后缀位置,以及它们返回的值。

++i先加再返回;i++先返回在加。

  1. ++i是前缀递增运算符,它将变量的值增加1,并返回递增后的值。即先递增再使用。

    int i = 5;
    int result = ++i;
    
    Console.WriteLine(result); // 输出:6
    Console.WriteLine(i);     // 输出:6
    

    在这个示例中,++i将变量i的值增加1,然后将递增后的值赋给result。最终resulti的值都是6。

  2. i++是后缀递增运算符,它也将变量的值增加1,但是返回的是递增前的值。即先使用再递增。

    int i = 5;
    int result = i++;
    
    Console.WriteLine(result); // 输出:5
    Console.WriteLine(i);     // 输出:6
    

    在这个示例中,i++将变量i的值赋给result,然后将i的值增加1。因此result的值是递增前的值5,而i的值是递增后的值6。

总结来说,++ii++都会递增变量的值,但是它们的前缀和后缀位置以及返回的值是不同的。如果你只关心递增后的值,两者的效果是相同的。