代码之家  ›  专栏  ›  技术社区  ›  Jack Bashford

在两个分隔符上拆分字符串?

  •  2
  • Jack Bashford  · 技术社区  · 7 年前

    我想根据分隔符拆分一个字符串 " " "," (包括引号)。我怎么能做到?我试过这样做:

    var str = '"String","String2" "String3"';
    str = str.split('" "', '","');
    console.log(str);

    ["String", "String2", "String3"]
    

    但我得到了:

    []
    

    4 回复  |  直到 7 年前
        1
  •  6
  •   Piterden    7 年前

    let str = '"String","String2" "String3"';
    str = str.split(/ |,/);
    console.log(str);
    
    let str2 = '"String","String2" "String3"';
    str2 = str2.split(/" "|","|"|\n/).filter(Boolean);
    console.log(str2);
    
    let str3 = '"String","String2" "String3"';
    str3 = str3.match(/[\w\d]+/g);
    console.log(str3);
        2
  •  0
  •   Nikko Khresna    7 年前
        3
  •  0
  •   Shiv Kumar Baghel    7 年前

    尝试以下解决方案

    var str = '"String","String2" "String3"';
    
    str = str.match(/\w+|"[^"]+"/g)
    
    str = str.map(function(x){return x.replace(/"/g, '');});
    
    console.log('Final str : ', str);
        4
  •  0
  •   ponury-kostek    7 年前

    您可以使用正则表达式: str = str.split(/,| /)

    console.log("a,b c".split(/,| /));