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

使用反斜杠拆分字符串

  •  2
  • flofreelance  · 技术社区  · 8 年前

    我需要用反斜杠分开一根绳子。

    我正在分裂

    我的预期结果:

    [“我”,“分裂”]

    我尝试了以下几点:

    console.log(("I M \ SPLITING").split("\"));

    console.log(("I M \ SPLITING").split("\\"));

    可与斜杠配合使用:

    console.log(("I M / SPLITING").split("/"));
    4 回复  |  直到 8 年前
        1
  •  5
  •   justMe    8 年前

    实际上,您的字符串不包含反斜杠,解释器认为它是单个转义字符。 尝试此解决方案

    console.log(("I M \\ SPLITING").split("\\"));
        2
  •  3
  •   Joschi    8 年前

    必须在字符串和拆分参数中转义反斜杠,否则

    • “\”=>“”(只有一个空格)
    • “\”=>“(转义)”(语法错误)

    console.log(("I M \\ SPLITING").split("\\"));
        3
  •  0
  •   Luigi D'Amico    8 年前

    根据以下内容,上述答案是正确的:

    console.log(("I M \\ SPLITING").split("\\"));
    

    但是,您需要理解转义字符才能理解原因。

    有关Javascript字符串的快速入门--> https://www.w3schools.com/js/js_strings.asp

    JavaScript使用\(反斜杠)作为转义字符:

    \' single quote
    \" double quote
    \ backslash
    \n new line
    \r carriage return
    \t tab
    \b backspace
    \f form feed
    \v vertical tab (IE < 9 treats '\v' as 'v' instead of a vertical tab ('\x0B'). If cross-browser compatibility is a concern, use \x0B instead of \v.)
    \0 null character (U+0000 NULL) (only if the next character is not a decimal digit; else it’s an octal escape sequence)
    

    请注意,JSON字符串中不允许\v和\0转义。

        4
  •  0
  •   Navin    6 年前

    最简单的方法是转换原始字符串中的给定字符串,在原始字符串中检索反斜杠

    对于上述场景,将“\b1\c1\d1”分为[”、“b1”、“c1”、“d1”]

    let a = String.raw`YOUR_STRING`;
    
    let b=a.split("\\");
    
    for eg;
    
    let a =String.raw`\b1\c1\d1`; //Output a ="\b1\c1\d1"
    
    let b = a.split("\\"); // Output b = ["", "b1", "c1", "d1"]
    

    这是一种替代方法。

    已经在chrome控制台中进行了测试,以获取有关字符串的更多信息。原始方法请参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw

    推荐文章