Comment supprimer du texte d'une chaîne en JavaScript?
J'ai une chaîne qui a data-123
comme sa valeur. Comment dans jQuery
ou Javascript
devrais-je entrer et supprimer le data-
de la chaîne tout en laissant le 123
?
10 réponses
Pas de jQuery nécessaire.
var ret = "data-123".replace('data-','');
console.log(ret); //prints: 123
Pour toutes les occurrences à rejeter utiliser:
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, utilisez donc la valeur de retour de la fonction après l'appel replace ().
Cela n'a rien à voir avec jQuery. Vous pouvez utiliser la fonction 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, il remplacerait tout sauf numerics:
str = str.replace(/[^0-9\.]+/g, "");
Vous pouvez utiliser "data-123".replace('data-','');
, comme mentionné, mais comme replace()
remplace seulement lapremière instance du texte correspondant, si votre chaîne était quelque chose comme "data-123data-"
alors
"data-123data-".replace('data-','');
Ne remplacera que le premier texte correspondant. Et votre sortie sera "123data-"
Donc, si vous voulez que toutes les correspondances de texte soient remplacées dans une chaîne, vous devez utiliser une expression régulière avec l'indicateur g
comme ceci:
"data-123data-".replace(/data-/g,'');
Et votre sortie sera "123"
Vous pouvez utiliser slice () il retourne les caractères entre le début et la fin (point final Inclus)
string.slice(start , end);
Voici quelques exmp pour montrer comment cela fonctionne:
var mystr = ("data-123").slice(5); // jast define start point so output is "123"
var mystr = ("data-123").slice(5,7); // define start and end so output is "12"
var mystr=(",246").slice(1); // returens "246"
L'Ancien 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()
docs sur MDN pour plus d'informations et de l'utilisation.
Ex:-
var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);
Espérons que cela fonctionnera pour vous.
J'étais habitué à la chaîne C# (Sharp).Supprimer la méthode. En Javascript, il n'y a pas de fonction de suppression pour la chaîne, mais il y a une fonction substr. Vous pouvez utiliser la fonction substr une ou deux fois pour supprimer des caractères de la chaîne. Vous pouvez faire la fonction suivante pour supprimer les caractères à l'index de début à la fin de la chaîne, tout comme la méthode c # première chaîne de surcharge.Supprimer (int startIndex):
function Remove(str, startIndex) {
return str.substr(0, startIndex);
}
Et / ou vous pouvez également créer la fonction suivante pour supprimer des caractères à l'index de démarrage et count, tout comme la méthode c # deuxième chaîne de surcharge.Supprimer (int startIndex, int count):
function Remove(str, startIndex, count) {
return str.substr(0, startIndex) + str.substr(startIndex + count);
}
Et puis vous pouvez utiliser ces deux fonctions ou l'une d'entre elles pour vos besoins!
Exemple:
alert(Remove("data-123", 0, 5));
Sortie: 123
En utilisant match()
et Number()
pour retourner une variable number
:
Number(("data-123").match(/\d+$/));
// strNum = 123
Voici ce que fait la déclaration ci-dessus...milieu de travail:
-
str.match(/\d+$/)
- renvoie un tableau contenant des correspondances à n'importe quelle longueur de nombres à la fin destr
. Dans ce cas, il renvoie un tableau contenant un seul élément de chaîne['123']
. -
Number()
- convertit en un type de nombre. Parce que le tableau retourné à partir de.match()
contient un seul élément {[2] } retournera le nombre.
Cette petite fonction que j'ai faite a toujours fonctionné pour moi :)
String.prototype.deleteWord = function (searchTerm) {
var str = this;
var n = str.search(searchTerm);
while (str.search(searchTerm) > -1) {
n = str.search(searchTerm);
str = str.substring(0, n) + str.substring(n + searchTerm.length, str.length);
}
return str;
}
// Use it like this:
var string = "text is the the cool!!";
string.deleteWord('the'); // Returns text is cool!!
Je sais que ce n'est pas le meilleur, mais cela a toujours fonctionné pour moi:)
str.split('Yes').join('No');
Cela remplacera toutes les occurrences de cette chaîne spécifique de la chaîne d'origine.