C#:有没有办法在不使用正则表达式的情况下搜索字符串中的数字?

时间:2010-09-30 08:35:49

标签: c# string search

嘿伙计们,我只是想知道是否有一种方法来检查字符串是否包含任何数字而不使用正则表达式。我只是想把它分成一个数组并对其进行搜索,但有些东西告诉我这是一个更简单的方法

//pseudocode
string aString = "The number 4"

If (aString contains a number) Then enter validation loop
Else return to main

//output
"The string contains a number. Are you sure you want to continue?"

3 个答案:

答案 0 :(得分:9)

var containsdigit = somestring.Any(char.IsDigit);

答案 1 :(得分:3)

您可以将String.IndexOfAny用作:

bool isNumeric = mystring.IndexOfAny("0123456789".ToCharArray()) > -1;

答案 2 :(得分:2)

您可以为字符串创建扩展方法,并使用LINQ和Char.IsNumber函数的组合,例如。

public static class StringExt
{
    public static bool ContainsNumber(this string str)
    {
        return str.Any(c => Char.IsNumber(c)); 
    }
}

然后你的逻辑看起来像:

//pseudocodestring 
string str = "The number 4";
If (aString.ContainsNumber())
    enter validation