我有一个字符串" demo1 \ demo2"。
var str="demo1\demo2";
console.log(str.split("\\")[1])); \\gives undefined
console.log(str.split("\")[1])); \\gives undefined
给出undefined。 我需要在console.log中使用demo2
答案 0 :(得分:2)
您在d
\
之后逃离str
。您需要转义\
中的str
:
const str = 'demo1\\demo2';
console.log(str.split('\\'));

答案 1 :(得分:0)
就像@SimpleJ已经回答的那样,你需要逃避反斜杠,这样它就不会被认为是逃避下一个角色本身。作为证明,如果你没有用另一个反斜杠来逃避你的反斜杠,这就是你的字符串输出的方式(如果你还没有自己检查过):
> console.log('demo1\demo2')
demo1
undefined
> console.log('demo1\\demo2')
demo1\demo2
undefined
> console.log("demo1\demo2")
demo1
undefined
> console.log("demo1\\demo2") // same goes for double quoted strings
demo1\demo2
undefined
所以这是要走的路:
"demo1\\demo2".split("\\")
答案 2 :(得分:-2)
如果里面的物品需要逃脱,你可以先run it through something like this。
如果你只需要'demo2'并且你知道它有什么字符,你可以这样:
console.log(str.match(/[^a-z0-9A-Z]([a-z0-9A-Z]*)$/)[1]);
或类似的。