【问题标题】:How do I extract multiple numbers from a string?如何从字符串中提取多个数字?
【发布时间】:2018-02-14 03:17:46
【问题描述】:

我想从这个字符串中提取三个双精度数。是数字之间的一个空格,但没有别的。

字符串 A = "3.1415 2.71828 1729.0"

【问题讨论】:

  • 你试过什么?你可以使用String.Split(' ');,然后可以转换为Double
  • 您可以用` `(空格)分割并转换为float/double 或使用正则表达式。到目前为止,您尝试过什么?
  • 拆分功能有效。感谢您的帮助。
  • 试试这个A.Split(' ').Select(Double.Parse).ToList()

标签: c# type-conversion extract


【解决方案1】:

使用Split() 方法。

string[] nums = A.Split(' ');

然后进行转换。

更新: 将双引号改为单引号

【讨论】:

  • 这不会编译。不存在这样的过载。
  • 我更新了代码。变成 ' '。现在它将编译。
  • 对于这个问题你不必使用Split(' '),你可以使用不带引号的Split()。
【解决方案2】:

您可以通过结合使用 String.Split() 方法和 LINQ 来做到这一点:

string A = "3.1415 2.71828 1729.0";
double[] numbers = A.Split().Select(x=>double.Parse(x.Replace(".",","))).ToArray();

在上面的示例中,字符串A 中的十进制数从string 转换为double 并存储在双精度数组中,但如果您想将十进制数字作为单独的字符串存储在字符串数组中,请使用:

string[] numbers = A.Split();

【讨论】:

    猜你喜欢
    • 2021-01-09
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 2019-02-20
    相关资源
    最近更新 更多