Question: I have a string `"a b" "c" "d ef"` and I'd like to convert it to `string[]args` and have an array that is `{"a b", "c", "d ef"}`. How do I parse it?

Answer: 
You could use `String.Split`:

```
string[] args = str.Split(new[]{"\" \""},StringSplitOptions.RemoveEmptyEntries)
    .Select(s => s.Trim('"')).ToArray();

```

or even more efficient:

```
args = str.Trim('"').Split(new[]{"\" \""},StringSplitOptions.RemoveEmptyEntries);

```
This should do it:

```
var originalString = "\"a b\" \"c\" \"d ef\"";
var args = originalString.Split('"').Where(s => !string.IsNullOrWhiteSpace(s)).ToArray();

```