title: StringSplitOptions.RemoveEmptyEntries doesn't work as advertised
body: <p>I've come across this several times in the past and have finally decided to find out why.</p>
  
  <p><code>StringSplitOptions.RemoveEmptyEntries</code> would suggest that it <em>removes empty entries</em>.</p>
  
  <p>So why does this test fail?</p>
  
  <pre><code>var tags = "One, Two, , Three,   Foo Bar, , Day    , ";
  
  var tagsSplit = tags.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
      .Select(s =&gt; s.Trim());
  
  tagsSplit.ShouldEqual(new string[] {
      "One",
      "Two",
      "Three",
      "Foo Bar",
      "Day"
  });
  </code></pre>
  
  <p>The result:</p>
  
  <pre><code>  Values differ at index [2]
    Expected string length 5 but was 0. Strings differ at index 0.
    Expected: "Three"
    But was:  &lt;string.Empty&gt;
  </code></pre>
  
  <p>So it fails because instead of <code>"Three"</code>, we have an empty string – exactly what <code>StringSplitOptions.RemoveEmptyEntries</code> should prevent.</p>