首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在字符串中使用regex或string函数在\ in JavaScript中提取子字符串后插入反斜杠?

如何在字符串中使用regex或string函数在\ in JavaScript中提取子字符串后插入反斜杠?
EN

Stack Overflow用户
提问于 2020-05-07 08:03:02
回答 1查看 78关注 0票数 0

我有以下字符串:

代码语言:javascript
复制
school\boy
school\class
school\playground
school\teacher
school\subject

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

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

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

我试过这样做:

代码语言:javascript
复制
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'之后,它仍然将'l'视为特殊字符。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-07 08:35:39

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

还可以使用fetch()执行GET请求以获得不需要转义的字符串。

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

代码语言:javascript
复制
const str = String.raw `school\boy`; // Yes, without parenthesis.
console.log(str.split("\\")[1])

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61652758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档