Vous avez besoin des barres obliques supplémentaires si vous souhaitez définir la chaîne en tapant dans votre script.
var str="hi\\how \\ r\\ u\\";
// This will basicly become "hi\how \ r\ u\" in memory
Lorsque je tente ce script
var str="hi\how \ r\ u\\";
document.writeln(str+"</br>");
document.writeln(str.replace("\\", "")+"</br>");
document.write(str.split("\\").join("")+"</br>");
var str="hi\\how \\ r\\ u\\";
document.writeln(str+"</br>");
document.writeln(str.replace("\\", "")+"</br>");
document.write(str.split("\\").join("")+"</br>");
Alors que je reçois cette sortie. C'est étrange à comprendre.
- hihow ru \ < - tous les barres obliques simples est ignoré
- hihow ru < - premier mach de "\" était à la fin
- hihow ru < - split/join fera la même chose avec la barre oblique
- salut \ comment \ r \ u \ < - c'est la str réelle que vous voulez travailler avec
- hihow \ r \ u \ < - premier mach de "\" est après salut
- salut < - diviser/joindre supprimera toutes les barres obliques
Il semble que la séparation et l'assemblage fonctionnent mieux dans ce cas. Sinon, vous devez mettre la fonction de remplacement dans une boucle. Mais avant tout, vous devez définir la chaîne avec laquelle vous voulez travailler correctement.
var str="hi\\how \\ r\\ u\\";
str.split("\\").join("")
Que voulez-vous dire par le caractère ""? –
La chaîne vide n'est pas * un * caractère. C'est une séquence de caractères vide. On ne sait pas non plus si vous essayez de supprimer les antislashs réels, ou les retours chariot et les sauts de ligne. Si vous pouviez produire un programme court mais complet qui démontre le problème, il serait beaucoup plus facile de vous aider. –
non, il est très clair à partir de la question que "\" doit être remplacé par "" c'est-à-dire séquence vide de caractères ... donc, ce dont vous avez besoin plus loin .. de toute façon retirer le -1 de la question ... –