如何检查由一个空格分隔的数字数组 C#

本文关键字:分隔 空格 数字 数组 一个 何检查 检查 | 更新日期: 2023-09-27 18:34:32

我有一个数字字符串,用一个空格分隔:

1 2 3 4 5 6 . . . . 

如何正确测试?

如果是。将返回

1 b d 2 ...

或者如果它被多个空格隔开。将返回

1  3      5 3 

溶液:

        string temp = "1 2 3 4 5 6";
        int number;
        bool result = temp.Split(' ').All(x => int.TryParse(x, out number));

谢谢@Selman22。

如何检查由一个空格分隔的数字数组 C#

只需将SplitAll方法一起使用:

int number;
bool result = str.Split(' ').All(x => int.TryParse(x, out number));

这将按空格拆分字符串,并检查每个部分是否是有效的 int。如果有字母或连续的空格,它将返回 false。

使用正则表达式将字符串与以下内容匹配:

'd( 'd)*

这意味着:一个数字,然后可以选择 1 倍或更多次单个空格后跟一个数字。

在 C# 中,您将像这样使用它:

Regex regex = new Regex(@"'d( 'd)*");
Match match = regex.Match("1 2 3 4 5");
if (match.Success)
{
    Console.WriteLine(match.Value);
}
string line = "1 2 3 4 5 6";
string[] array = line.split[' '];

如果要确保数组元素是整数,可以迭代每个元素并执行int.TryParse

for(int i = 0; i < array.Length; i++)
{
    int tmp;
    bool isInteger = int.TryParse(array[i], out tmp);
}

编辑

首先,您可以简单检查该行是否在数字之间包含一个以上的空格字符。

if(line.Contains("  "))
{
    return false;
}

然后,拆分为数组并检查每个成员是否都是整数。