2016-05-08 9 views
-1

ich eine Zeichenfolge haben, wie unten:alle Vorkommen von Zitaten mit Anführungszeichen innerhalb bestimmter Anführungszeichen

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

Ich möchte ersetzen „ durch \“, die nur innerhalb des Körpers Wert

Dies bedeutet, dass die Zeichenfolge sollte

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

Es ist besser geworden, wenn die Lösung Rege erfolgt über x.

hinter Mein Motiv ist es als eine gültige JSON zu machen, so dass nach dem Parsen ich Array von Objekten mit Tasten als Körper und Wert als String erhalten.

Antwort

1

Manche Dinge versuchen, so

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); 

Online demo

+0

Freund es givs Immedia \ "} 'nicht Immedia"}' am Ende –

+0

@Akhil eshKumar Beitrag bearbeitet – mkHun

1

Lassen Sie die Javascript-Engine die Arbeit für Sie erledigen.

var x = JSON.stringify(tst); 
+0

aber Freund folgen gibt es eine Ausgabe wie –

+0

folgenden "" {\ "body \": \ "Hallo Akhil Station siate \" U \ Turjunction, Immedia, Körper: Hiate dgt Turjunction, Immedia, Körper: Hiate sd turjunction, Immedia. –

+0

Ich möchte nur Zitate innerhalb von Body-Tag ersetzen –

Verwandte Themen