Digamos que tengo test_23
y quiero eliminar test_
.¿Cómo eliminar parte de una cadena?
¿Cómo puedo hacer eso?
El prefijo anterior _
puede cambiar.
Digamos que tengo test_23
y quiero eliminar test_
.¿Cómo eliminar parte de una cadena?
¿Cómo puedo hacer eso?
El prefijo anterior _
puede cambiar.
Mi forma favorita de hacer esto es "dividir y hacer estallar":
var str = "test_23";
alert(str.split("_").pop());
// -> 23
var str2 = "adifferenttest_153";
alert(str2.split("_").pop());
// -> 153
+1 Me gusta esto. – Marc
El programador en C se encoge por la cantidad de objetos creados y destruidos en esta operación simple de división/pop :) Probablemente: una matriz, 2 cadenas, otra matriz, otra cadena. – Gui13
@xgbi: sí, los desarrolladores de JavaScript y C tienen filosofías bastante diferentes, aunque ;-) –
Asumiendo que su cadena comienza siempre con 'test_'
:
var str = 'test_23';
alert(str.substring('test_'.length));
¿Qué pasa si no comienza con la prueba? – NullVoxPopuli
Vea la respuesta de Andy E. – BoltClock
string = "test_1234";
alert(string.substring(string.indexOf('_')+1));
Incluso wor ks si la cadena no tiene subrayado. Pruébelo en http://jsbin.com/
Esto tiene menos sobrecarga, pero más código que la respuesta de Andy E. Ambos funcionan, pero prefiero este método. – palswim
La manera más fácil que pienso es:
var s = yourString.replace(/.*_/g,"_");
tal vez debería echar un vistazo a las expresiones regulares [en] JavaScript (http://www.w3schools.com/jsref/jsref_obj_regexp.asp) – Barranka