web-dev-qa-db-fra.com

Comment supprimer du texte d'une chaîne en JavaScript?

J'ai une chaîne qui a data-123 comme valeur. Comment pourrais-je entrer et supprimer data- de la chaîne tout en laissant le 123 dans jQuery ou JavaScript?

449
Michael Grigsby

Pas besoin de jQuery.

var ret = "data-123".replace('data-','');
console.log(ret);   //prints: 123

Docs.


Pour tous les événements à éliminer, 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. Utilisez donc la valeur de retour de la fonction après l'appel de replace ().

939
Mathletics

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 les chiffres:

str = str.replace(/[^0-9\.]+/g, "");
112
James Johnson

Vous pouvez utiliser "data-123".replace('data-','');, comme indiqué, mais en tant que replace() ne remplace que l'instance FIRST 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 sortie sera "123data-"

DÉMO

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 le drapeau g comme ceci:

"data-123data-".replace(/data-/g,'');

Et votre sortie sera "123"

DEMO2

45
laaposto

vous pouvez utiliser slice (), il rétablit les caractères entre début et fin (point final inclus)

   string.slice(start , end);

voici quelques exemples 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"

démo

26
m.r shojaei

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() docs sur MDN pour plus d'informations et d'utilisation.

16
James Hill

Ex: -

var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);

J'espère que cela fonctionnera pour vous.

15
Ranjit Kanojia

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 :)

9
user8142790

J'étais habitué à la méthode C # (Sharp) String.Remove. En Javascript, il n'y a pas de fonction remove pour string, mais il y a une fonction substr. Vous pouvez utiliser la fonction sous-substrat une ou deux fois pour supprimer des caractères de la chaîne. Vous pouvez faire en sorte que la fonction suivante supprime les caractères au début de l'index jusqu'à la fin de la chaîne, tout comme la méthode c # commence par surcharger 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 au début de l'index et du nombre, tout comme pour la seconde méthode de surcharge c #: String.Remove (int startIndex, int count):

function Remove(str, startIndex, count) {
    return str.substr(0, startIndex) + str.substr(startIndex + count);
}

et alors vous pouvez utiliser ces deux fonctions ou l’une d’elles pour vos besoins!

Exemple:

alert(Remove("data-123", 0, 5));

Sortie: 12

8
user2133061
str.split('Yes').join('No'); 

Cela remplacera toutes les occurrences de cette chaîne spécifique à partir de la chaîne d'origine.

7
ARC

Utiliser match() et Number() pour retourner une variable number:

Number(("data-123").match(/\d+$/));

// strNum = 123

Voici ce que dit la déclaration ci-dessus ... travail intermédiaire:

  1. str.match(/\d+$/) - retourne un tableau contenant des correspondances avec n'importe quelle longueur de nombres à la fin de str. Dans ce cas, il retourne un tableau contenant un seul élément de chaîne ['123'].
  2. Number() - le convertit en un type de nombre. Parce que le tableau retourné par .match() contient un seul élément, Number() retournera le nombre.
6
Brett DeWoody