.replace () non sostituisce tutti i caratteri (Javascript) [duplicato]

Nov 22 2020

Ho provato a sostituire tutti i trattini bassi con un apostrofo. Funziona con il primo trattino basso, ma mai con il secondo. Ho provato a capirlo ma non ci sono riuscito. Se hai una soluzione, per favore aiutami.

function strReplace() {
  var myStr = 'quick_brown_fox';
  myStr = myStr.replace(/_/, "’");

  // Insert modified string in paragraph
  document.getElementById("myText").innerHTML = myStr;
}
<p id="myText">quick_brown_fox</p>
<button type="button" onclick="strReplace();">Replace</button>

Produzione:

quick'brown_fox

Risultato desiderato:

volpe veloce "marrone"

Risposte

ksav Nov 22 2020 at 08:47

Prova ad aggiungere un flag di ricerca globale alla tua espressione regolare per abbinare tutte le occorrenze di _

function strReplace() {
  var myStr = 'quick_brown_fox';
  myStr = myStr.replace(/_/g, "’");

  // Insert modified string in paragraph
  document.getElementById("myText").innerHTML = myStr;
}
<p id="myText">quick_brown_fox</p>
<button type="button" onclick="strReplace();">Replace</button>