2010-11-03 11 views
57

Si tengo una cadena "Abc: Lorem ipsum sit amet", ¿cómo puedo usar javascript/jQuery para eliminar la cadena antes del ":" incluyendo el ":". Por ejemplo, la cadena anterior se convertirá en: "Lorem ipsum sit amet".¿Cómo eliminar parte de una cadena antes de un ":" en javascript?

+1

Agregué la etiqueta javascript ya que está en la pregunta y es más relevante para la pregunta que jquery. – Spudley

Respuesta

163

No hay necesidad de jQuery aquí, regulares JavaScript hará:

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

You can test it here. O bien, el .split() y .pop() versión:

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

You can test that version here. O bien, la versión de expresiones regulares (varias variantes de este):

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

You can test that here.

+1

Gran respuesta, me encantan las diferentes soluciones – Aardvark

+8

Tenga en cuenta que si hay más de un ':' en la cadena, la segunda variante devolverá la cadena después de * last * one en vez de la primera como en los demás. Es desafortunado que no haya una opción de dividir solo en n veces en el método 'split()' de JS, que le permitiría hacer un '.split (':', 1) [1]' de estilo Python. (Hay * un * argumento opcional de 'número', pero no hace lo que cualquier persona razonable esperaría) – bobince

+0

@bobince - Tienes razón, estoy asumiendo un poco aquí que él tiene una constante 'etiqueta: algo' formato, si ese no es el caso iría con la primera opción. –

Cuestiones relacionadas