2010-11-03 8 views
57

Wenn ich eine Zeichenfolge "Abc: Lorem ipsum sit amet" habe, wie kann ich Javascript/jQuery verwenden, um die Zeichenfolge vor dem ":" einschließlich der ":" zu entfernen. Zum Beispiel wird die obige Zeichenfolge: "Lorem ipsum sit amet".Wie Teil einer Zeichenfolge vor einem ":" in JavaScript entfernen?

+1

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

Antwort

163

Es besteht keine Notwendigkeit für jQuery ist hier wird regelmäßig JavaScript tun:

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

You can test it here. Oder die .split() und .pop() Version:

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

You can test that version here. Oder die Regex Version (mehrere Varianten dieses):

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

You can test that here.

+1

Große Antwort, ich liebe die verschiedenen Lösungen – Aardvark

+8

Beachten Sie, wenn es mehr als ein ':' in der Zeichenfolge gibt, wird die zweite Variante die Zeichenfolge nach der * letzten * statt der ersten wie in den anderen zurückgeben. Es ist bedauerlich, dass es in der 'split()' - Methode von JS keine Split-only-n-times-Option gibt, die es erlaubt, einen Python-ähnlichen '.split (':', 1) [1]' zu machen. (Es gibt * ein optionales 'Zahl'-Argument, aber es tut nicht das, was eine vernünftige Person erwarten würde.) – bobince

+0

@bobince - Sie haben recht, ich mache hier ein bisschen eine Annahme, dass er eine Konsistenz hat 'label: something' Format, wenn das nicht der Fall ist würde ich mit der ersten Option gehen. –

Verwandte Themen