首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS:替换特定符号之间的引号

JS:替换特定符号之间的引号
EN

Stack Overflow用户
提问于 2016-04-10 16:02:15
回答 2查看 57关注 0票数 0

假设我有一个字符串:

代码语言:javascript
复制
"Audio":[{"ID":"0","Codec": "AC-3","Info":"192 Kbps, 48.0 KHz (2 channels)","Language":"Spanish (##He aqui "el teléfono que nunca suena" pero debería##)","Default":"Yes"}]

我想转换成:

代码语言:javascript
复制
"Audio":[{"ID":"0","Codec": "AC-3","Info":"192 Kbps, 48.0 KHz (2 channels)","Language":"Spanish (He aqui \"el teléfono que nunca suena\" pero debería)","Default":"Yes"}]

正如您所看到的,我想转义存在于"##“符号之间的所有引号,另外还要删除这些符号,如何通过使用replace()方法来实现这一点?我的意思是怎么会是正则表达式模式。谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-04-10 17:31:46

如果你真的想这么做,那么

代码语言:javascript
复制
input.replace(/##(.*?)##/g, function(match) { return match.replace(/"/g, '\\"'); })

应该能胜任这项工作。

这将所有##...##序列替换为其中的引号替换为转义引号的结果。

票数 1
EN

Stack Overflow用户

发布于 2016-04-10 17:35:14

代码语言:javascript
复制
var str = '"Audio":[{"ID":"0","Codec": "AC-3","Info":"192 Kbps, 48.0 KHz (2 channels)","L##a"g##uage":"Spanish (##He aqui "el teléfono que nunca suena" pero debería##)","Default":"Yes"}]';
var result = str.replace(/##(.*?)##/g, function(v) { return v.replace(/"/g, "\\\""); });

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

https://stackoverflow.com/questions/36527352

复制
相关文章

相似问题

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