Comment supprimer une partie d'une chaîne avant un «:» en javascript?


111

Si j'ai une chaîne Abc: Lorem ipsum sit amet, comment puis-je utiliser JavaScript / jQuery pour supprimer la chaîne avant d' :inclure le fichier :. Par exemple , la chaîne ci - dessus deviendra: Lorem ipsum sit amet.


2
J'ai ajouté la balise javascript car elle est dans la question et plus pertinente pour la question que jquery.
Spudley

Réponses:


290

Il n'y a pas besoin de jQuery ici, JavaScript normal fera l'affaire:

var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);

Ou, la version .split()et .pop():

var str = "Abc: Lorem ipsum sit amet";
str = str.split(":").pop();

Ou, la version regex (plusieurs variantes de ceci):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];

1
Excellente réponse, j'adore les différentes solutions
Aardvark

22
Remarquez s'il y en a plus d'un :dans la chaîne, la deuxième variante renverra la chaîne suivant la dernière plutôt que la première comme dans les autres. Il est malheureux qu'il n'y ait pas d'option split-only-n-times dans la split()méthode de JS , ce qui vous permettrait de faire un style Python .split(':', 1)[1]. (Il y a un numberargument facultatif , mais il ne fait pas ce à quoi toute personne raisonnable s'attendrait.)
bobince

@bobince - Vous avez raison, je fais un peu l'hypothèse ici qu'il a un label: somethingformat cohérent , si ce n'est pas le cas, j'irais avec la première option.
Nick Craver

2
Vous pouvez diviser et joindre pour déposer certains éléments en fonction du séparateur. "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
Amritesh Anand
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.