如何使用正则表达式或字符串函数在字符串中插入反斜杠以在 JavaScript 中的 \ 之后提取子字符串?

How to insert a backslash in a string using regex or string functions to extract substrings after \ in JavaScript?

我有以下字符串:

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

我想提取 \ 之后的子字符串,即 boyclassplaygroundteachersubject。此外,school 仍然是所有字符串的常量子字符串。

我知道解决方案是添加一个额外的反斜杠,例如school\boyschool\teacher等,因为它正在处理\b\t 作为一个特殊字符,但上述数据来自 back-end 服务,因此手动为每个字符串添加额外反斜杠的解决方案不可行。

我的问题是如何通过字符串函数或正则表达式插入这个额外的 \ 反斜杠并在 \? 之后提取子字符串?

我试过这样做:

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

但它给出 undefined。如果我用一个反斜杠进行拆分,它给出的输出为 \boy,这是不正确的。我不明白为什么 split 不起作用。即使在字符串中的字符 'l' 之后添加了额外的 \,它仍然将 \b 视为特殊字符。

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

也可以使用fetch()进行GET请求获取字符串,无需转义

但是,如果由于某种原因,您不能这样做,您可以使用 String.raw():

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

但如果您使用 String.raw(),请确保在反斜杠后有内容,因为 \` 不会 终止字符串!