Wie entferne ich einen Teil einer Zeichenfolge vor einem ":" in Javascript?

111

Wenn ich eine Zeichenfolge habe Abc: Lorem ipsum sit amet, wie kann ich JavaScript / jQuery verwenden, um die Zeichenfolge vor dem :Einschließen der Zeichenfolge zu entfernen :. Zum Beispiel wird die obige Zeichenfolge zu : Lorem ipsum sit amet.

Sieger
quelle
2
Ich habe das Javascript-Tag hinzugefügt, da es in der Frage enthalten ist und für die Frage relevanter ist als jquery.
Spudley

Antworten:

290

Hier ist jQuery nicht erforderlich, reguläres JavaScript reicht aus:

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

Oder die .split()und .pop()Version:

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

Oder die Regex-Version (mehrere Varianten davon):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];
Nick Craver
quelle
1
Tolle Antwort, ich liebe die verschiedenen Lösungen
Aardvark
22
Hinweis: Wenn :die Zeichenfolge mehr als eine enthält , gibt die zweite Variante die Zeichenfolge nach der letzten zurück und nicht wie in den anderen nach der ersten. Es ist bedauerlich, dass es in der JS- split()Methode keine Option gibt , die nur n-mal geteilt werden kann, sodass Sie einen Python-Stil ausführen können .split(':', 1)[1]. (Es gibt ein optionales numberArgument, aber es tut nicht das, was eine vernünftige Person erwarten würde.)
Bobince
@bobince - Sie haben Recht, ich gehe hier ein bisschen davon aus, dass er ein konsistentes label: somethingFormat hat. Wenn dies nicht der Fall ist, würde ich die erste Option wählen.
Nick Craver
2
Sie können teilen und verbinden, um einige Elemente basierend auf dem Trennzeichen zu löschen. "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
Amritesh Anand