如何只提取字符串的奇数位值?

时间:2014-09-09 12:15:05

标签: string c#-3.0

我有一个字符串Data =" 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0&#34 ;; 我想只提取数据的奇数位置。 我是指带有值的新字符串:-0 0 0 0 0 0 0 0

1 个答案:

答案 0 :(得分:2)

你可以这样做:

var Data="0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0";
var output= string.Join(" ", Data
                               .Split(' ')
                               .Select ((s,i) =>new {s,i})
                               .Where (w =>w.i % 2 != 0 )
                               .Select (s => s.s));

输出将是:

0 0 0 0 0 0 0 0

你也可以这样做:

private IEnumerable<string> GetOdd(string data)
{
    var split=data.Split(' ');
    for(int i=0;i<split.Length;i++)
    {
        if(i % 2 != 0)
            yield return split[i];
    }
}

然后调用这个函数:

var output= string.Join(" ", GetOdd(Data))