actuellement j'utilise ceci pour remplacer un seul remplacement mais je veux remplacer toutes les piqûres comme [timer1] [timer2] etc.

  var final_before_message = message_before.replace("[timer]", "<b id=\"timer\"></b>");

cela fonctionne bien mais cela ne fonctionnera que pour [timer] je veux remplacer toutes les occurrences de mots comme [timer1] timer2] [timer3] jusqu'à [timer9] avec etc

par exemple

       var final_before_message = message_before.replace("[timer1]", "<b id=\"timer1\"></b>");

      var final_before_message = message_before.replace("[timer2]", "<b id=\"timer2\"></b>");

     var final_before_message = message_before.replace("[timer3]", "<b id=\"timer3\"></b>");


      var final_before_message = message_before.replace("[timer9]", "<b id=\"timer9\"></b>");

puis-je utiliser un caractère générique en remplacement et y parvenir? / avec un code de ligne ??

-3
sonamona 4 nov. 2019 à 22:04

1 réponse

Utilisez un remplacement d'expression régulière avec un groupe de capture.

var final_before_message = message_before.replace(/\[timer(\d+)\]/g, '<b id="timer$1"></b>');

$1 est remplacé par le numéro correspondant au groupe de capture (\d+).

1
Barmar 4 nov. 2019 à 19:22