2016-07-18 15 views

Antwort

0

Die gewünschte Regex ist s/(\w)"?,"?(\w)/\1","\2/g. Wie dies in Ihrer Umgebung umgesetzt wird, liegt bei Ihnen.

Im Wesentlichen wird die Regex sicherstellen, dass es Wort Zeichen (die \w s) auf jeder Seite des Kommas (um zu vermeiden, die am Ende der Zeichenfolge zu entsprechen), erfassen sie, und dann dump sie wieder mit die Anführungszeichen und das Komma.

EDIT: Optionale Zitate zum ersten Teil hinzugefügt, um "unausgeglichene" Anführungszeichen zu fangen.

0

ähnlicher Ansatz ist, finden Kommata ohne benachbarte doppelte Anführungszeichen ...

$ echo "[\"AAA,Gas prices,GasBuddy,South Carolina\"]" | 
    sed -r 's/([^"]),([^"])/\1","\2/g' 

["AAA","Gas prices","GasBuddy","South Carolina"] 
0

Ich würde nicht einen regulären Ausdruck für diese überhaupt. Wenn dies Javascript ist, würde ich die Zeichenfolge aus dem Objekt abrufen, es mit .split() analysieren und dann durch dieses Array ersetzen.

var object = { 
 
    "keywords": ["AAA,Gas prices,GasBuddy,South Carolina"] 
 
}; 
 

 
var str = object.keywords[0]; 
 
var arr = str.split(','); 
 
object.keywords = arr; 
 
console.log(object);

+0

Hallo @Barmar, danke für den Vorschlag! Wie würde ich das Objekt in das folgende: '' – user2574654

+0

Ich denke, es sei ' "keywords": <% Objekt .Keywords%> ' – Barmar

Verwandte Themen