2016-05-23 84 views
0

從一行中的字符串中提取數字(有時是間點)的最佳方法是什麼?從一條線中提取字符串價格的最佳方式是什麼?

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

我需要的[123.45, 67, 8, 13.99];

str.match(/\d+/g)返回的結果稍有不同的陣列 - 它不指望"."

+0

http://stackoverflow.com/questions/12117024/decimal-number-regular-expression-where-digit-after-decimal-is-optional – rock321987

回答

2

使用正則表達式爲/\d+(?:\.\d+)?/g

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

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


Regex explanation here.

Regular expression visualization

+0

法國和德國的價格格式呢? –

1

str.match(/[.\d]+/g)會做世界衛生大會你在問什麼。它會允許多個點,所以如果你想做一些「明智的」給定123.456.789你可能會想要更復雜的東西 - 但在這種情況下,你應該首先弄清楚什麼你想要的更明智的事情。