【问题标题】:Extract numbers in a String using Javascript使用 Javascript 提取字符串中的数字
【发布时间】:2016-01-05 05:59:27
【问题描述】:

我有以下字符串示例:

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

我只想提取数字:

0
12.5
360
15.09

字符串的静态部分如下:

开始:

rotate(

结尾:

deg)

我将如何在 javascript 中做到这一点?

【问题讨论】:

标签: javascript regex string


【解决方案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);

【讨论】:

    【解决方案2】:

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

    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)

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-20
        • 2012-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多