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

javascript拆分字符串函数不工作

  •  -2
  • user1hjgjhgjhggjhg  · 技术社区  · 7 年前

    我正在尝试分割一条线:

    var str = "*HQ,6170930129,V1,185409,A,3132.3228,N,07424.7726,E,000.04,000,280618,FBFFBBFF,410,04,08028,40555#*HQ,6170930129,V1,185413,A,3132.3226,N,07424.7735,E,000.15,000,280618,FBFFBBFF,410,04,08028,40555"
    
    var res = device_data.split('*');
    

    但它不起作用。它只是显示这个字符串

      var str = "*HQ,6170930129,V1,185409,A,3132.3228,N,07424.7726,E,000.04,000,280618,FBFFBBFF,410,04,08028,40555#*HQ,6170930129,V1,185413,A,3132.3226,N,07424.7735,E,000.15,000,280618,FBFFBBFF,410,04,08028,40555"
    
      var res = str.split('*'); 
    
      console.dir(res)
    ,HQ,6170930129,V1,185409,A,3132.3228,N,07424.7726,E,000.04,000,280618,FBFFBBFF,410,04,08028,40555#,HQ,6170930129,V1,185413,A,3132.3226,N,07424.7735,E,000.15,000,280618,FBFFBBFF,410,04,08028,40555
    

    而不是用两个元素创建数组。

    4 回复  |  直到 7 年前
        1
  •  2
  •   BlackBeard    7 年前

    imho,你想要这样的东西:

    var str = "*HQ,6170930129,V1,185409,A,3132.3228,N,07424.7726,E,000.04,000,280618,FBFFBBFF,410,04,08028,40555#*HQ,6170930129,V1,185413,A,3132.3226,N,07424.7735,E,000.15,000,280618,FBFFBBFF,410,04,08028,40555"
    
    splitStrArr = str.split('*').filter(str => str != "")
    
    console.log(splitStrArr)
    console.log(splitStrArr[0])
    console.log(splitStrArr[1])
        2
  •  1
  •   mpm    7 年前

    您将得到一个以句点开头的字符串,因为无论您做什么,都会导致字符串分割转换为字符串的结果。string split返回一个数组。转换为字符串的数组的形式为element0、element1、element2…用逗号分隔的元素。

    在您的情况下,字符串split的结果是带有3个元素的[“”,…],因为字符串以您正在搜索的字符“*”开头,所以字符串split将创建一个空字符串作为返回数组的第一个元素。因此,结果与预期完全一致,字符串分割按预期工作。

    去掉字符串的第一个字符,

    mystring.substr(1).split('*')
    

    去掉空字符串

    mystring.split('*').filter(s=>s!='')
    

    以获得所需的结果。

        3
  •  0
  •   a3.14_Infinity    7 年前

    您可以使用:

    • var res=str.split(“”);。

    您可以在浏览器本身中检入javascript控制台。

    作为建议/想法,您可以始终使用浏览器控制台(例如chrome browser)来执行类似这样的简单脚本。

    这样,您就可以节省时间,因为更容易检查数据结构及其内部数据。

    ,您可以始终使用浏览器控制台(例如chrome browser)来执行类似的简单脚本。

    这样,您可以节省时间,因为检查数据结构及其内部数据更容易。

    enter image description here

        4
  •  0
  •   user2538003    7 年前

    如果你尝试

    var res = str.split('*');
    

    你得到三个元素:
    res[0]为“”(空字符串)
    资源[1]是“HQ,61…”
    资源[2]是'HQ,…'