簡體   English   中英

用特定引號內的\\ quotes替換所有出現的引號

[英]Replace all occurrence of quotes with \quotes within specific quotes

我有一個字符串如下:

var tst ='[{"body":"Hi Akhil station siate "U" turjunction,- Immedia"},'
         +'{"body":"Hiate "dgt" turjunction,- Immedia"},'
         +'{"body":"Hiate "sd turjunction,- Immedia"}]';

我想更換\\”,這是唯一的體內值

這意味着字符串應該變成

'[{"body":"Hi Akhil station siate \"U\" turjunction,- Immedia"},'
             +'{"body":"Hiate \"dgt\" turjunction,- Immedia"},'
             +'{"body":"Hiate \"sd turjunction,- Immedia"}]'

如果使用正則表達式來解決,則更好。

我背后的動機是使其成為有效的JSON,以便在解析之后,我可以獲得鍵為主體 ,值為字符串的對象數組。

讓Javascript引擎為您完成工作。

var x = JSON.stringify( tst );

一些事情嘗試如下

var tst ='{"body":"Hi Akhil station siate "U" turjunction,- Immedia"},'
     +'{"body":"Hiate "dgt" turjunction,- Immedia"},'
     +'{"body":"Hiate "sd turjunction,- Immedia"}';

    tst = tst.replace(/\s("[^"]+?")(?!\})|\s"([^ ]+)/g,function($1)
    {
        if($1.match(/".+"/))
        {
            return $1.replace(/"/g,"\\\"");
        }
        else
        {
            return $1.replace(/"/g,"\\\"");
        }
     });


console.log(tst);

在線演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM