代码之家  ›  专栏  ›  技术社区  ›  Ras

获取动态数据行中的值

  •  0
  • Ras  · 技术社区  · 6 年前

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

    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 搜索值?

    2 回复  |  直到 6 年前
        1
  •  2
  •   vrintle Jake    6 年前

    你可以使用 regular expression 达到预期的效果。

    \d+(?=values)

    细节 :

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

    你也可以用这个

    var dataline = "my data 001 121values"
    
    var datavalue = dataline.substring(dataline.lastIndexOf(" ")+1).split("v")[0]
    
    alert("[" + datavalue + "]")