在JavaScript中,如何使用regex或字符串函数在字符串中插入反斜杠,以提取字符串后的子串?

问题描述 投票:0回答:1

我有以下字符串。

school\boy
school\class
school\playground
school\teacher
school\subject

我想提取出在"/"后面的子串 即: boy, class, playground, teacher, subject. 还有: school 对于所有的字符串来说都是一个固定的子串。

我知道解决方法是多加一个反斜杠。 喜欢 school\\boy, school\\teacher 等,因为它的治疗 \b,\t 作为一个特殊字符,但上述数据来自于 back-end 服务,所以为每个字符串手动添加额外的反斜杠的解决方案是不可行的。

我的问题是,我如何通过字符串函数或regex来插入额外的反斜杠,并提取反斜杠后的子串?

我试过这样做。

var str = "school\boy";
var newstr = str.slice(0,6) + '\\' + str.slice(6); \\ newstr = school\\boy
console.log(newstr.split('\\\\')[1]);

但得到的结果是 undefined. 如果我用一个反斜杠进行分割,它的输出结果为 \boy 这是不正确的。我不明白为什么 split 不起作用。它仍然在治疗 \b 作为一个特殊的字符,即使在字符后面添加了额外的/。'l' 字符串中。

javascript split substring slice backslash
1个回答
1
投票

我假设你的后台正在生成JavaScript代码(只有一个反斜杠)。最好的办法是重新配置你的后端。

你也可以使用 fetch() 执行 GET 请求来获取字符串,它不需要转义。

然而,如果出于某些原因,你不能这样做,你可以使用 String.raw():

const str = String.raw `school\boy`; // Yes, without parenthesis.
console.log(str.split("\\")[1])

但如果你使用 String.raw()确保在反斜杠后面有一些东西,如 \` 终止字符串

© www.soinside.com 2019 - 2024. All rights reserved.