在一行中提取字符串中的价格的最佳方法是什么?

21 浏览
0 Comments

在一行中提取字符串中的价格的最佳方法是什么?

如何以一行代码从字符串中提取数字(有时带有句点)的最佳方法是什么?

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

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

str.match(/\d+/g) 返回的结果稍有不同 - 它不包括 "."

0
0 Comments

从字符串中提取价格的最佳方法是使用正则表达式。以下是解决方法的代码示例:

var str = "ghjkhjgbkhj123.45khgbkhjgk67   8kjhgkj hg13.99sads";
console.log(
  str.match(/\d+(?:\.\d+)?/g)
);

正则表达式`/\d+(?:\.\d+)?/g`可以匹配字符串中的价格。它会找到所有的数字,包括小数点,并返回一个价格数组。

如果需要考虑法语和德语的价格格式,可以使用以下正则表达式:

var str = "ghjkhjgbkhj123,45khgbkhjgk67   8kjhgkj hg13,99sads";
console.log(
  str.match(/\d+(?:[.,]\d+)?/g)
);

这个正则表达式`/\d+(?:[.,]\d+)?/g`除了匹配小数点之外,还可以匹配逗号,以适应不同的价格格式。

0
0 Comments

使用str.match(/[.\d]+/g)可以实现你所要求的功能。它允许出现多个点,所以如果你想对123.456.789进行一些"合理"的操作,可能需要更复杂的方法--但在这种情况下,你应该首先确定你想要的更合理的操作是什么。

0