Je dois remplacer le mot _Nouveau + Livraison; dans une chaîne avec virgule (',')
exemple de chaîne d'entrée: XP_New+Delivery;HP_New+Delivery;LA_New;
sortie attendue: XP,HP,LA_New;
Mais il renvoie la même entrée que la sortie, ne remplace rien par aucune idée?
<p id="demo">XP_New+Delivery;HP_New+Delivery;LA_New;</p> <button onclick="myFunction()">Try it</button>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var res = str.replace(new RegExp('_New+Delivery;', 'gi'), ',');
document.getElementById("demo").innerHTML = res;
}3 Réponses :
Ce n'est peut-être pas un moyen parfait, mais cela fonctionnera.
<p id="demo">XP_New+Delivery;HP_New+Delivery;LA_New;</p> <button onclick="myFunction()">Try it</button>
Pour votre problème, utilisez le code suivant
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var res = str.split('_New+Delivery;').join(',');
document.getElementById("demo").innerHTML = res;
}const sampleInput = "XP_New+Delivery;HP_New+Delivery;LA_New;";
const result = sampleInput.split('_New+Delivery;').join(',');
console.log(result)Essaye ça:
var str = "XP_New+Delivery;HP_New+Delivery;LA_New;"; var res = str.replace(/(_New\+Delivery;)/g, ","); console.log(res);
Le signe plus dans l'expression régulière signifie «correspond à une heure et un nombre illimité de fois, autant de fois que possible, en redonnant au besoin». Pour utiliser le signe plus tel quel, vous devez l'échapper avec \ .
new RegExp('_New\\+Delivery;', 'gi')
Mais dans votre exemple La barre oblique inverse est interprétée par le code qui lit la chaîne, plutôt que transmise à l'analyseur d'expression régulière. Vous devez double échapper le signe plus:
new RegExp('_New\+Delivery;', 'gi')
+a une signification particulière dans RegExp, vous devrez l' échapper , '\ + `... ou à l'intérieur de cette chaîne, vous aurez besoin de\\+... doncvar res = str.replace(new RegExp('_New\\+Delivery;', 'gi'), ',');ouvar res = str.replace(/_New\+Delivery;/gi, ',');pour un code plus succinctEst-ce que cela répond à votre question? Comment puis-je remplacer un signe plus dans JavaScript?