如何使用正则表达式或字符串函数在字符串中插入反斜杠以在 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
我想提取 \ 之后的子字符串,即 boy
、class
、playground
、teacher
、subject
。此外,school
仍然是所有字符串的常量子字符串。
我知道解决方案是添加一个额外的反斜杠,例如school\boy
、school\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()
,请确保在反斜杠后有内容,因为 \`
将 不会 终止字符串!
我有以下字符串:
school\boy
school\class
school\playground
school\teacher
school\subject
我想提取 \ 之后的子字符串,即 boy
、class
、playground
、teacher
、subject
。此外,school
仍然是所有字符串的常量子字符串。
我知道解决方案是添加一个额外的反斜杠,例如school\boy
、school\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()
,请确保在反斜杠后有内容,因为 \`
将 不会 终止字符串!