2011-07-29 28 views

Respuesta

24

Si no desea dividir la cadena (consume más rápido, menos memoria), puede utilizar indexOf() con substr():

var original = "Mon 25-Jul-2011"; 
var result = original.substr(original.indexOf(" ") + 1); 
+0

¿usaría 'original.split ('') .pop();' sería más rápido si solo queremos que el último elemento sea el resultado? –

+1

@Cristus, aún debe tokenizar toda la cadena y crear una matriz con los tokens, solo para acceder a la última. 'pop()' también mutará esa matriz (eliminará el elemento que devuelve) por nada. Entonces no creo que sea más rápido, no. –

+0

Esta es una buena respuesta, pero pasa por alto el hecho de que la cuerda puede contener un espacio en blanco adicional al final de la cuerda, lo que hace que esta sea una solución incorrecta. Necesitas recortar espacios en blanco adicionales. – AleksandrH

8
var string = "Mon 25-Jul-2011"; 
var parts = string.split(' '); 
parts.shift(); // parts is modified to remove first word 
var result; 
if (parts instanceof Array) { 
    result = parts.join(' '); 
} 
else { 
    result = parts; 
} 
// result now contains all but the first word of the string. 
1

se puede manipular cualquier dom, utilizando su ID de referencia, clase o etiqueta Ejemplo

<div id="date">Mon 25-Jul-2011</div> 
<script> 
$(document).ready(function() { 
    var strDate = $('#date').html(); 
    // Using regex, this will remove any day which may present in your date DOM 
    strDate.replace(/(mon|tue|wed|thu|fri|sat)/i, ''); 
    // This to trim any space present 
    strDate.replace(/^\s+|\s+$/g,''); 
    $('#date').html(strDate); 
}); 
</script> 
0

Otra solución:

var line = "Mon 25-Jul-2011"; 
var edited = line.substring(line.indexOf(" ") + 1, line.length); 
+0

Lo siento, demasiado lento. Lo mismo que la respuesta de @ Frédéric, excepto algo peor, probablemente. – JWeary

0

Esta es la Salida "25-Jul-2011":

var string = "Mon 25-Jul-2011"; 
string = string.split(' ').pop(); 
+1

No, si tengo algo así como "Stack Over Flow", devuelve "Flow". –

0

quería eliminar primera palabra de cada uno de los elementos de matriz de cadenas. Lo hice usando split, slice, join.

var str = "Mon 25-Jul-2011" 
var newStr = str.split(' ').slice(1).join(' ') 
console.log(str) 

Ejecute este código en la consola y obtendrá la cadena esperada.

0
var str = "Mon 25-Jul-2011"; 
var firstSpace=str.indexOf(" "); 
var newStr= str.slice(firstSpace); 
//result:"25-Jul-2011" 
+0

@GowthamShiva No hay ningún enlace. – Melebius

Cuestiones relacionadas