javascript - 从文本中提取数字的最佳方法是什么

标签 javascript regex split substring

P1W2DT6H21M32S

想知道从这里提取数字的最佳方法。

W = Weeks
D = Days
H = Hours
M = Minutes
S = Seconds

这样的事情只适用于M和S,而且看起来我做得不对。

    var time = "PT44M7S";
    var minutes = time.substring(2, time.indexOf("M"));
    var seconds = time.split("M")[1].substring(0, time.split("M")[1].indexOf("S"));

最佳答案

var timePeriod = {};
var str = 'P1W2DT6H21M32S';
var re = /(\d+)([WDHMS])/g;
while (result = re.exec(str)) {
    timePeriod[result[2]] = parseInt(result[1], 10);
}
console.log(timePeriod);

应该产生:

{ W: 1, D: 2, H: 6, M: 21, S: 32 }

关于javascript - 从文本中提取数字的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25071272/

相关文章:

javascript - 类型错误 : Object function Object() { [native code] } has no method 'method'

javascript - Curl 命令在 swagger UI 中显示为未定义的 token 。?

javascript - plupload 中 BeforeUpload 和 UploadFile 事件的区别

python - 正则表达式命名组以开头但不以结尾

javascript - 如何在弹出窗口中添加关闭按钮

电子邮件域的 Java RegEx

R正则表达式从文本文件中提取电视节目名称

Python。使用单词列表中的任何单词拆分字符串

java - 字符串相等性未评估为真

c++ - 如何将数据文件分成几个部分