web-dev-qa-db-fra.com

Vérifier si une chaîne a au moins un nombre en utilisant LINQ

J'aimerais savoir quelle est la requête LINQ la plus simple et la plus simple qui permet de renvoyer true si une chaîne de caractères contient un caractère numérique.

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

Update: comme @Cipher a souligné, il peut être rendu encore plus court:

"abc3def".Any(char.IsDigit);
164
Fredrik Mörk

Essaye ça

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

Usage

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

ou possible en utilisant Regex:

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

Que dis-tu de ça:

bool test = System.Text.RegularExpressions.Regex.IsMatch(test, @"\d");
0
Aaron
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 ";   /
        }
0
inal