ai didi

javascript - 替换javascript中的所有\"with\\"

转载 作者:行者123 更新时间:2023-11-29 21:46:56 24 4
gpt4 key购买 nike

我想替换所有\"在我的字符串中 \\" ( \"<div style=\"font-size:0.9em\"> )

var str = '{"CarID":"Z100","alerts":[{"AlertType":"Head <b>southeast</b> on <b>Tân Hải</b> toward <b>Trường Chinh</b><div style=\"font-size:0.9em\">Pass by nhan cuoi dep (on the right)</div>"}],"customizedLocations":[]}';

str = str.replace(/\"/g, '\\\\"');

我希望输出是(\" 中的 style\\" 替换):

{"VehicleID":"Z100","alerts":[{"AlertType":"Head <b>southeast</b> on <b>Tân Hải</b> toward <b>Trường Chinh</b><div style=\\"font-size:0.9em\\">Pass by nhan cuoi dep (on the right)</div>"}],"customizedLocations":[]}

但实际上我得到的是(ALL "\\" 取代):

{\\"VehicleID\\":\\"Z100\\",\\"alerts\\":[{\\"AlertType\\":\\"Head <b>southeast</b> on <b>Tân Hải</b> toward <b>Trường Chinh</b><div style=\\"font-size:0.9em\\">Pass by nhan cuoi dep (on the right)</div>\\"}]}

我不想使用 jQuery,谁能帮帮我!

最佳答案

你的正则表达式有点问题。反斜杠 \ 表示转义。因此,当您编写 \" 时,它只找到一个引号,反斜杠将其转义,因为它是一个特殊字符。您必须同时转义反斜杠和引号:

str = str.replace(/\\\"/g, '\\\\"');

这将产生预期的结果。

请阅读您问题下方用户 zerkms 的评论。我真的不明白这个替换有什么用。也许你有所谓的 x-y 问题: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem

编辑:

上面发布的代码行需要工作,因为用户 zerkms 在下面的评论中解释了原因。有一个使用原始字符串的解决方法:

String.raw`\"`.replace(/\"/g, '\\"');

这已经过测试并且应该可以工作。

关于javascript - 替换javascript中的所有\"with\\",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30798508/

24 4 0
文章推荐: javascript - Angular JS - 使用相同的 ng-model 基于多个对象属性的 ng-repeat 过滤器对象数组
文章推荐: android - 使用 getResources().getIdentifier 对 4 个按钮进行平方
文章推荐: android - ListView 中的 OutOfBoundsException
文章推荐: javascript - $ is not defined 错误在 mootools
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com