【问题标题】:What's the best way to extract prices from string in one line? [duplicate]从一行中的字符串中提取价格的最佳方法是什么? [复制]
【发布时间】:2016-05-23 15:12:14
【问题描述】:

从一行中的字符串中提取数字(有时中间有点)的最佳方法是什么?

var str = "ghjkhjgbkhj123.45khgbkhjgk67   8kjhgkj hg13.99sads";

我需要一个 [123.45, 67, 8, 13.99]; 数组

str.match(/\d+/g) 返回的结果略有不同 - 它不计入 "."

【问题讨论】:

标签: javascript arrays regex function match


【解决方案1】:

使用正则表达式作为/\d+(?:\.\d+)?/g

var str = "ghjkhjgbkhj123.45khgbkhjgk67   8kjhgkj hg13.99sads";

console.log(
  str.match(/\d+(?:\.\d+)?/g)
);

Regex explanation here.

【讨论】:

  • 法国和德国的价格格式怎么样?
【解决方案2】:

str.match(/[.\d]+/g) 会按照您的要求进行操作。它将允许多个点,因此如果您想在给定123.456.789 的情况下做一些“明智的”事情,您可能会想要更复杂的事情——但在这种情况下,您应该首先弄清楚 什么你想要更明智的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    相关资源
    最近更新 更多