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

时间:2009-10-08 21:30:22

标签: c# linq

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

5 个答案:

答案 0 :(得分:167)

"abc3def".Any(c => char.IsDigit(c));

更新:正如@Cipher指出的那样,它实际上可以更短:

"abc3def".Any(char.IsDigit);

答案 1 :(得分:15)

试试这个

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

用法

string x = GetTheString();
if ( x.HasNumber() ) {
  ...
}

答案 2 :(得分:8)

或可能使用Regex:

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

答案 3 :(得分:0)

这个怎么样:

bool test = System.Text.RegularExpressions.Regex.IsMatch(test, @"\d");

答案 4 :(得分:0)

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 ";   /
        }