将字符串拆分为三个双打

Pro*_*mer 3 c# string split

我使用了C#,我希望拆分文本包含3个以逗号和空格分隔的双打.

我做了:

double[] doubles = mystr.Trim().Split(new char[] { ' ', ',' })
                .Select(s => Convert.ToDouble(s))
                .ToArray();
Run Code Online (Sandbox Code Playgroud)

当mystr = 33,44,55例如它工作正常(数字仅由一个逗号分隔)

此外,当mystr = 33 44 55时,它工作正常(数字仅由一个空格分隔)

但是,当mystr = 33,44,55时它不起作用(每两个数字之间的逗号后面有一个空格)

当mystr = 33 44 55(每两个数字之间有两个空格)时它也不起作用

在上面两个例子中,我得到了一个未处理的异常.

我该如何解决?

谢谢!

Jon*_*pee 10

您可以添加一个选项以删除拆分中的空条目:

var array = Array.ConvertAll(mystr.Split(new [] { ' ', ',' },
                             StringSplitOptions.RemoveEmptyEntries),
                             Convert.ToDouble);
Run Code Online (Sandbox Code Playgroud)