我使用 C#,我希望拆分文本包含 3 个 double ,以逗号和空格分隔。

我做了:

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

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

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

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

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

在上面的两个例子中,我都遇到了一个未处理的异常。

我该如何解决?

谢谢!

最佳答案

只需尝试指定 StringSplitOptions ,并使用 StringSplitOptions.RemoveEmptyEntries 删除空字符串..

    double[] doubles = mystr.Trim().Split(new char[] { ' ', ',' },StringSplitOptions.RemoveEmptyEntries)
            .Select(Convert.ToDouble)
            .ToArray();

关于c# - 将字符串拆分为三个 double ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37137576/

10-11 16:12