从数组字符串表示形式获取数字

时间:2018-08-20 13:23:10

标签: javascript regex

我有以下字符串:

['53456.0','76876.0','456345.0']

我已经成功使用正则表达式来匹配逗号之前的元素,例如:

  • '53456.0'

  • '76876.0'

  • '456345.0'

但是我真正需要的是匹配没有撇号的数字,也只是匹配Point之前的数字:

  • 53456

  • 76876

  • 456345

您能帮我找到合适的正则表达式吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以通过使用包含数字0-9和点字符的字符类来获取数字,然后使用parseIntparseFloat从字符串中获取数字。

[0-9.]+

let str = "['53456.0','76876.0','456345.0']";

let numbersAsStrings = str.match(/[0-9.]+/g);

console.log(numbersAsStrings)

let numbers = numbersAsStrings.map(parseFloat);

console.log(numbers)