代码之家  ›  专栏  ›  技术社区  ›  Jobi Joy

使用LINQ检查字符串中是否至少有一个数字

  •  67
  • Jobi Joy  · 技术社区  · 15 年前

    我想知道如果字符串中包含任何数字字符,那么最简单和最短的LINQ查询返回true是什么。

    5 回复  |  直到 9 年前
        1
  •  164
  •   Community Egal    7 年前
    "abc3def".Any(c => char.IsDigit(c));
    

    更新 作为 @Cipher 指出,它实际上可以缩短:

    "abc3def".Any(char.IsDigit);
    
        2
  •  14
  •   JaredPar    15 年前

    试试这个

    public static bool HasNumber(this string input) {
      return input.Where(x => Char.IsDigit(x)).Any();
    }
    

    用法

    string x = GetTheString();
    if ( x.HasNumber() ) {
      ...
    }
    
        3
  •  8
  •   Elegiac    10 年前

    或可能使用regex:

    string input = "123 find if this has a number";
    bool containsNum = Regex.IsMatch(input, @"\d");
    if (containsNum)
    {
     //Do Something
    }
    
        4
  •  0
  •   Aaron    10 年前

    这个怎么样?

    bool test = System.Text.RegularExpressions.Regex.IsMatch(test, @"\d");
    
        5
  •  0
  •   inal    9 年前
    string number = fn_txt.Text;   //textbox
            Regex regex2 = new Regex(@"\d");   //check  number 
            Match match2 = regex2.Match(number);
            if (match2.Success)    // if found number 
            {  **// do what you want here** 
                fn_warm.Visible = true;    // visible warm lable
                fn_warm.Text = "write your text here ";   /
            }