String 如何仅提取字符串的奇数位置值?

String 如何仅提取字符串的奇数位置值?,string,c#-3.0,String,C# 3.0,我有一个字符串Data=“0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0”; 我只想提取数据的奇数位置。 我是指值为:-0 0 0 0 0的新字符串。您可以这样做: 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

我有一个字符串Data=“0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0”; 我只想提取数据的奇数位置。 我是指值为:-0 0 0 0 0的新字符串。您可以这样做:

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))