Je suis sur le point de réussir, mais ça ne va pas.
Tout ce que je voudrais faire, c'est supprimer le caractère " r " d'une chaîne de caractères.
Le problème est qu'il y a plus d'une instance de r
dans la chaîne.
Cependant, il s'agit toujours du caractère à l'indice 4 (donc le 5e caractère).
Exemple de chaîne de caractères : crt/r2002_2
Ce que je veux : crt/2002_2
Cette fonction de remplacement supprime les deux r
.
mystring.replace(/r/g, '')
Produit : ct/2002_2
.
J'ai essayé cette fonction :
String.prototype.replaceAt = function (index, char) {
return this.substr(0, index) + char + this.substr(index + char.length);
}
mystring.replaceAt(4, '')
Cela ne fonctionne que si je le remplace par un autre caractère. Elle ne le supprime pas simplement.
Avez-vous une idée ?
var mystring = "crt/r2002_2";
mystring = mystring.replace('/r','/');
remplacera /r
par /
en utilisant String.prototype.replace
.
Vous pouvez également utiliser une expression rationnelle avec un indicateur global (comme suggéré par Erik Reppen & ; Sagar Gala, ci-dessous) pour remplacer toutes les occurrences par
mystring = mystring.replace(/\/r/g, '/');
EDIT: Puisque tout le monde s'amuse beaucoup ici et que user1293504 ne semble pas vouloir revenir de sitôt pour répondre aux questions de clarification, voici une méthode pour supprimer le Nième caractère d'une chaîne :
String.prototype.removeCharAt = function (i) {
var tmp = this.split(''); // convert to an array
tmp.splice(i - 1 , 1); // remove 1 element from the array (adjusting for non-zero-indexed counts)
return tmp.join(''); // reconstruct the string
}
console.log("crt/r2002_2".removeCharAt(4));
Puisque user1293504 a utilisé le compte normal au lieu d'un compte à indexation nulle, nous devons enlever 1 de l'index, si vous souhaitez utiliser ceci pour reproduire la façon dont charAt
fonctionne, ne soustrayez pas 1 de l'index sur la 3ème ligne et utilisez tmp.splice(i, 1)
à la place.
return this.substr(0, index) + char + this.substr(index + char.length);
char.length
est zéro. Vous devez ajouter 1
dans ce cas afin de sauter le caractère.