2017-11-17 2 views
0

Ich habe einige Daten, die ich in Node.js handhabe und ich muss die Et-Zeichen mit dem Escape-Schlüssel ersetzen. Ich habe diesen Code:Warum funktioniert replace() nicht in Node.js?

let newValue = data; 
for (label in labelData.data) { 
    let key = "Label " + label; 
    newValue = newValue.replace(key, labelData.data[label]); 

} 
let noAmpersands = newValue.replace('&', '&'); 
console.log(noAmpersands); 

Dieser Code ersetzt Platzhalter in einem SVG, aber offensichtlich die benötigten Et-Zeichen mit ihren Escape-Zeichen ersetzt werden. Jedoch. Dadurch wird der Wert ohne ersetzte Et-Zeichen ausgemeldet. Zum Beispiel diese:

<g transform="matrix(1 0 0 1 -865.665 -1513.81)"> 
<text x="3000" y="3750" id="text4790-27" class="fil1 fnt0" text-anchor="middle">EthCAN 3 &</text> 

sollte

<g transform="matrix(1 0 0 1 -865.665 -1513.81)"> 
<text x="3000" y="3750" id="text4790-27" class="fil1 fnt0" text-anchor="middle">EthCAN 3 &amp;</text> 

sein Was ist los?

+0

Bitte geben Sie einige Eingaben und die erwartete Ausgabe. –

Antwort

0

Ihr Endziel ist hier zu kodieren HTML entities, gibt es verschiedene Online-Artikel und Antworten darauf, wie das zu erreichen ist. google nur

Wenn Sie nur die & ersetzen möchten: Unter der Annahme, dassnewVlaue ein string

Ihr Code: newValue.replace('&', '&amp;'); wird nur das erste Vorkommen ersetzen und nicht alle Vorkommen. Um alle Vorkommen zu ersetzen, verwenden Sie: newValue.replace(/&/g, '&amp;');

Verwandte Themen