首页 > 解决方案 > 在动态数据行中获取值

问题描述

我有一个自动生成的数据,如下所示:

1  my data 001 12values
2  my data 001 121values
3  my data 001 53values
4  my data 001 84values
5  my data 001 154values
6  my data 001 235values
7  my data 001 99values
8  my data 001 78values
9  my data 001 54values
10 my data 001 253values
11 my data 001 1043values
12 my data 001 1320values
13 my data 001 543values
14 my data 001 241values
15 my data 001 98values

它每秒生成一次,因此上面的数据在 15 秒内有 15 行。

我怎样才能只得到每行的值,所以其他的被删除。

只需获取第 1 行的值:

12

第 2 行:

121

等等..

我已经尝试过使用replace

var str = "1  my data 001 12values";
var res = str.replace("1  my data 001", "");
var res2 = res.replace("values", "");
console.log(res2);

这是我期望的结果,但它只是第 1 行的示例,如果我想获取第 2 行的值,第一个字符的数字更改为 2,依此类推。所以我必须手动将代码更改str.replace("1 my data 001", "");str.replace("2 my data 001", "");.

任何人都可以帮助我在不手动更改str.replace搜索值的情况下获取每行的值吗?

标签: javascript

解决方案


您可以使用 aregular expression来实现所需的结果。

\d+(?=values)

详情

  • \d+- 匹配一系列数字(主要模式)。
  • (?=values)- 找到后面跟着的主要模式"values"
  • var str = "1  my data 001 12values";
    var res = +str.match(/\d+(?=values)/i)[0];
    console.log(res);


    推荐阅读