2010-11-03 104 views
57

如果我有一個字符串「Abc:Lorem ipsum sit amet」,如何使用javascript/jQuery刪除「:」之前的字符串,包括「:」。例如,上面的字符串將變成:「Lorem ipsum sit amet」。如何在JavaScript中的「:」之前刪除部分字符串?

+1

我添加了javascript標記,因爲它在問題中,而且比jquery更相關的問題。 – Spudley 2010-11-03 22:57:04

回答

163

沒有必要的jQuery這裏,常規的JavaScript會做:

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

You can test it here。或者,.split().pop()版本:

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

You can test that version here。或者,正則表達式版本(這幾個變種):

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

You can test that here

+1

很好的答案,我喜歡不同的解決方案 – Aardvark 2010-11-03 22:55:38

+8

注意,如果字符串中有多個':',第二個變體將返回* last *之後的字符串,而不是其他字符串中的第一個。不幸的是,在JS的'split()'方法中沒有split-only-n-times選項,這將允許你執行Python風格的'.split(':',1)[1]'。 (*有*是一個可選的'number'參數,但它不會做任何合理的人會期望的。) – bobince 2010-11-03 22:57:31

+0

@bobince - 你說得對,我在這裏做了一個假設,他有一個一致的'label:something'格式,如果不是這樣,我會選擇第一個選項。 – 2010-11-03 22:58:40

相關問題