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?

327
demandé sur Jenny O'Reilly 2012-05-01 18:12:38

10 réponses

Pas de jQuery nécessaire.

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

Docs.


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 ().

723
répondu Mathletics 2017-10-02 15:24:19

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, "");
92
répondu James Johnson 2015-01-21 07:57:49

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-"

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 l'indicateur g comme ceci:

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

Et votre sortie sera "123"

DEMO2

36
répondu laaposto 2014-05-08 10:21:04

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"

Démo

23
répondu m.r shojaei 2014-11-24 17:29:13

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.

14
répondu James Hill 2012-05-01 14:14:06

Ex:-

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

Espérons que cela fonctionnera pour vous.

13
répondu Ranjit Kanojia 2016-08-09 10:25:56

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

8
répondu Farewell Stack Exchange 2014-04-20 12:36:40

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:

  1. str.match(/\d+$/) - renvoie un tableau contenant des correspondances à n'importe quelle longueur de nombres à la fin de str. Dans ce cas, il renvoie un tableau contenant un seul élément de chaîne ['123'].
  2. Number() - convertit en un type de nombre. Parce que le tableau retourné à partir de .match() contient un seul élément {[2] } retournera le nombre.
6
répondu Brett DeWoody 2016-04-16 15:44:44

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

5
répondu 2017-07-31 02:18:25
str.split('Yes').join('No'); 

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

1
répondu ARC 2018-04-16 12:30:39