Подтвердить что ты не робот

Проверьте, имеет ли строка в нем хотя бы одно число, используя LINQ

Я хотел бы знать, что самый простой и самый короткий запрос LINQ - вернуть true, если строка содержит в себе любой символ числа.

4b9b3361

Ответ 1

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

Обновить: как отметил @Cipher, его можно сделать даже короче:

"abc3def".Any(char.IsDigit);

Ответ 2

Попробуйте это

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

Использование

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

Ответ 3

или возможно использование Regex:

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

Ответ 4

Как насчет этого:

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

Ответ 5

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