使用Javascript提取String中的数字

时间:2016-01-05 05:59:27

标签: javascript regex string

我在下面有以下字符串示例:

rotate(0deg)
rotate(12.5deg)
rotate(360deg)
rotate(15.09deg)

我只想提取数字:

0
12.5
360
15.09

字符串中的静态部分如下:

起点。:

rotate(

结局:

deg)

我将如何在javascript中执行此操作?

3 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

/\brotate\((\d+(?:.\d+)?)(?=deg\))/g

并使用捕获组#1作为您的号码。

RegEx Demo

<强>代码:

var re = /\brotate\((\d+(?:.\d+)?)(?=deg\))/g; 
var m;
var matches=[];

while ((m = re.exec(input)) !== null) {
    if (m.index === re.lastIndex)
        re.lastIndex++;
    matches.push(m[1]);
}

console.log(matches);

答案 1 :(得分:1)

尝试使用Number().replace()RegExp /.*\(|deg\)$/g

一起使用

&#13;
&#13;
var arr = ["rotate(0deg)",
  "rotate(12.5deg)",
  "rotate(360deg)",
  "rotate(15.09deg)"
];

var res = arr.map(function(n) {
  return Number(n.replace(/.*\(|deg\)$/g, ""))
});

console.log(res)
&#13;
&#13;
&#13;

答案 2 :(得分:0)

检查此正则表达式:(\d*\.?\d+)