如何检查由一个空格分隔的数字数组 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。
只需将Split
与All
方法一起使用:
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;
}
然后,拆分为数组并检查每个成员是否都是整数。