C# 如何从基于空格形成的stringArray中删除Whitespce

C# 如何从基于空格形成的stringArray中删除Whitespce,c#,arrays,string,C#,Arrays,String,我有一个字符串,它包含如下值 90 524 000 1234567890 2207 1926 00:34 02:40 S 现在,我已经根据空格将这个字符串拆分为字符串数组。现在,我想以这种方式再创建一个字符串数组,以便删除所有空格,并且它只包含实值 此外,我还希望根据从删除空白形成的新字符串数组中选择的内容,从原始字符串数组中获取字符串数组元素的位置 请帮助我。您可以使用StringSplitOptions。通过String.Split

我有一个字符串,它包含如下值

90  524           000   1234567890       2207 1926    00:34     02:40  S  
现在,我已经根据空格将这个字符串拆分为字符串数组。现在,我想以这种方式再创建一个字符串数组,以便删除所有空格,并且它只包含实值

此外,我还希望根据从删除空白形成的新字符串数组中选择的内容,从原始字符串数组中获取字符串数组元素的位置


请帮助我。

您可以使用
StringSplitOptions。通过
String.Split
删除mptyentries

string s = "90  524           000   1234567890       2207 1926    00:34     02:40  S  ";
s.Split(' ').Where(x=>!String.IsNullOrWhiteSpace(x))
var values = input.Split(new [] {' '}, StringSplitOptions.RemoveEmptyEntries);
:返回值不包括包含空字符串的数组元素

Split
方法遇到两个连续的空格时,它将返回一个空字符串。使用
StringSplitOptions.RemoveEmptyEntries
将删除空字符串,并仅提供所需的值

您也可以使用
LINQ

var values = input.Split().Where(x => x != string.Empty).ToArray();

编辑:如果我理解正确,您需要旧数组中值的位置。如果是这样,您可以创建一个字典,其中键是实际值,值是索引:

var oldValues = input.Split(' ');
var values = input.Split().Where(x => x != string.Empty).ToArray();

var indexes = values.ToDictionary(x => x, x => Array.IndexOf(oldValues, x));

然后
索引[“1234567890”]
将为您提供
1234567890
在第一个数组中的位置。

您可以使用
StringSplitOptions。RemoveEmptyEntries

string[] arr = str.Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);

注意,我还添加了制表符作为分隔符。还有其他空白字符,如行分隔符,可根据需要添加。完整的清单

方法Trim()将对您有所帮助。我认为[这][1]是您正在寻找的。。。希望有帮助[1]:嗯,比看起来更复杂。。。你想要什么“职位”?第一个字符的索引?元素的计数,例如第三个?等等等等。。。如果524是第二个、第五个、第七个和第十个元素呢?Split将创建一个字符串数组
Where(x=>!String.IsNullOrWhiteSpace(x))
将删除数组中的所有空格或null项。确定。它正在工作。另一个查询是如何搜索
var值的元素在原始数组中的位置,其中空格具有此代码。
String[]arr=input.Split(“”)@user3816352你为什么需要它?你想找到一个特定项目的索引吗?然后使用Array.IndexOf method是的,我只需要索引。如何从whitepspace中找到没有空格的数组元素我会尽快理解你的意思。。。你能澄清一下吗?例如,我需要索引,但值来自不带空格的数组,但我希望索引来自从代码
string[]arr=input.Split(“”)中获得的带空格的原始数组