如何从javascript中的字符串中提取特定数据?

时间:2018-08-18 19:55:39

标签: javascript extract

我的字符串将始终以以下格式返回,其中数字表示我需要定位的变化变量:

params:string = "a random description here followed by a space and then this #gruser4upload #gruser15cat #gruser23camp"

如何提取数字?

鉴于上面的字符串,我需要实现以下结果:

upload = 4
cat = 15
camp = 23

我尝试使用以下方法,但是由于#gruser存在于我的所有三个目标中,因此无法使用。

let upload = params.substring(
              params.lastIndexOf("#gruser") + 1, 
              params.lastIndexOf("upload")
            );

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:4)

使用正则表达式捕获数字,然后捕获字母字符,然后提取每个组:

const params = "a random description here followed by a space and then this #gruser4upload #gruser15cat #gruser23camp";
let match;
const re = /(\d+)([a-z]+)/gi;
while (match = re.exec(params)) {
  console.log(match[1] + ' : ' + match[2]);
}