我在javascript中有一个字符串:
ECTS: 7.5 pts
从这个字符串中我需要提取7.5
并将其解析为浮点值..
我尝试过搜索,但我发现的解决方案都没有。我试过了:
var regex = /^\d+\.\d{0,3}$/;
var string = "ECTS: 7.5 pts";
var number = parseFloat(string.match(regex));
console.log("number is: " + number);
我尝试了几种不同的正则表达式,但没有一种能够完成这一操作。
我已创建此fiddle来说明问题。
我曾经将此/\d+/
作为我的正则表达式,但这并不包含浮点数。
我最终将此作为我的正则表达式/[+-]?\d+(\.\d+)?/g
更新了fiddle
答案 0 :(得分:2)
这很好用,不需要正则表达式:
var s = "ECTS: 7.5 pts";
var n = parseFloat(s.split(" ")[1]);
$("#test").text(n);
答案 1 :(得分:1)
var digits = Number((/(\d+\.\d+)/.exec('ECTS: 7.5 pts') || []).pop());