Question: I am new to C# and only know the basics. I'm looking for a code example on how I would get every other word from a string variable. For example if the variable was

```
String x = "Help me, coding is difficult"; 

```

I would want to return single string "Help coding difficult". It needs to be a function that takes one string and return filtered version of it.

Someone suggested duplicates that I mostly already seen during my research:

* [How to split text into words?](https://stackoverflow.com/questions/16725848/how-to-split-text-into-words) shows very complicated logic that takes into account punctuation for example. I think I'm fine just to rely on spaces, but if you have better suggestion with an explanation - would be nice.
* [Select every second element from array using lambda](https://stackoverflow.com/questions/13082913/select-every-second-element-from-array-using-lambda) - seems promising, but sample shows how to work with integer array. I have string (or maybe string array if one can adapt string splitting code to provide one).
* [C# Print list of string array](https://stackoverflow.com/questions/42112051/c-sharp-print-list-of-string-array) that also sounds promising but it shows how to *print* the result, not how to return it as value from a function.

Answer: 
Assuming that you count a word as "every character between spaces, or the start/end of the string", and you're not trying to remove any letters.

```
var input = "Help me, coding is difficult";
var everyOther = input
    .Split(' ')
    .Where((x, i) => i % 2 == 0);
Console.WriteLine(string.Join(" ", everyOther));

```

The code for the `Where` was taken from [this post](https://stackoverflow.com/questions/682615/how-can-i-get-every-nth-item-from-a-listt).

The idea is to use the overload of `Where` which gives you the index value, and see if that index value is even, if so, include it in the results.
```
string s = "You win some. You lose some.";

string[] subs = s.Split(' ');

for(int i=0 ; i < subs.length ; i+=2)
{
    Console.WriteLine($"Substring: {sub[i]}");
}

```