我正在尝试将字符串"\b1\c1\d1"
拆分为["","b1","c1","d1"]
;
但即使使用string.split("\\")
(以及互联网所说的所有方式),它只会给我一个["1c1d1"]
;
如何获得我想要的结果?
答案 0 :(得分:2)
以这种方式为我工作。
在Chrome控制台上测试:
var x = "\b1\c1\d1"; // results in "1c1d1"
var x = "\\b1\\c1\\d1"; // results in "b1\c1\d1"
var y = x.split("\");
VM160:2 Uncaught SyntaxError: Unexpected token ILLEGAL(…)InjectedScript._evaluateOn @ VM101:875InjectedScript._evaluateAndWrap @ VM101:808InjectedScript.evaluate @ VM101:664
var y = x.split("\\"); // THIS WORKS!! ["", "b1", "c1", "d1"]
答案 1 :(得分:1)
最简单的方法是将给定的字符串转换为原始字符串,在该字符串中我们按原样获取反斜杠
针对上述情况"\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控制台中进行了测试,有关String.raw方法的更多信息,请参阅:this link
答案 2 :(得分:0)
你可以拆分你的虚构字符串"如果它将是一个正则表达式对象
/\b1\c1\d1/.source.split('\\');