J'ai un data-123
chaîne.
Comment puis-je supprimer data-
de la chaîne tout en laissant le 123
?
J'ai un data-123
chaîne.
Comment puis-je supprimer data-
de la chaîne tout en laissant le 123
?
var ret = "data-123".replace('data-','');
console.log(ret); //prints: 123
Pour que toutes les occurrences soient éliminées, utilisez :
var ret = "data-123".replace(/data-/g,'');
PS : La fonction replace renvoie une nouvelle chaîne et laisse la chaîne d'origine inchangée, donc utilisez la valeur de retour de la fonction après l'appel replace().
Cela n'a rien à voir avec jQuery. Vous pouvez utiliser le JavaScript replace
pour cela :
var str = "data-123";
str = str.replace("data-", "");
Vous pouvez également passer une expression rationnelle à cette fonction. Dans l'exemple suivant, elle remplacera tout sauf les chiffres :
str = str.replace(/[^0-9\.]+/g, "");
Pouvez-vous expliquer ce que fait le regex ? Je ne comprends pas pourquoi elle remplace les chaînes de caractères sauf les nombres si 0-9
a été indiqué.
Vous pouvez utiliser "data-123".replace('data-','');
comme mentionné, mais comme replace()
remplace uniquement le FIRST instance du texte correspondant, si votre chaîne était quelque chose comme "data-123data-"
puis
"data-123data-".replace('data-','');
ne remplacera que le premier texte correspondant. Et votre résultat sera "123data-"
Ainsi, si vous voulez que toutes les correspondances de texte soient remplacées dans la chaîne de caractères, vous devez utiliser une expression régulière avec l'attribut g
drapeau comme ça :
"data-123data-".replace(/data-/g,'');
Et votre résultat sera "123"
Le bon vieux JavaScript suffira - jQuery n'est pas nécessaire pour une tâche aussi simple :
var myString = "data-123";
var myNewString = myString.replace("data-", "");
Voir : .replace()
Documents sur MDN pour des informations supplémentaires et l'utilisation.
J'étais habitué à la méthode String.Remove de C# (Sharp). En Javascript, il n'y a pas de fonction remove pour les chaînes de caractères, mais il y a la fonction substr. Vous pouvez utiliser la fonction substr une ou deux fois pour supprimer des caractères d'une chaîne. Vous pouvez créer la fonction suivante pour supprimer les caractères de l'indice de départ jusqu'à la fin de la chaîne, tout comme la méthode C#, en surchargeant String.Remove(int startIndex) :
function Remove(str, startIndex) {
return str.substr(0, startIndex);
}
et/ou vous pouvez également créer la fonction suivante pour supprimer les caractères à l'indice de départ et au nombre, tout comme la deuxième surcharge de la méthode c# String.Remove(int startIndex, int count) :
function Remove(str, startIndex, count) {
return str.substr(0, startIndex) + str.substr(startIndex + count);
}
et vous pourrez alors utiliser ces deux fonctions ou l'une d'entre elles selon vos besoins !
Exemple :
alert(Remove("data-123", 0, 5));
Sortie : 123
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.