principal
Mon 25-Jul-2011
Quiero eliminar la primera palabra “Mon” con javascript jQuery. Cómo puedo hacer esto ?
Si no desea dividir la cadena (más rápido, menos memoria consumida), puede usar índice de() con substr():
var original = "Mon 25-Jul-2011";
var result = original.substr(original.indexOf(" ") + 1);
-
usaría
original.split(' ').pop();
ser más rápido si solo queremos que el último elemento sea el resultado?– Cristus Cleetus
8 de julio de 2015 a las 12:23
-
@Cristus, todavía tiene que tokenizar la cadena completa y construir una matriz con los tokens, solo para acceder al último.
pop()
también mutará esa matriz (eliminará el elemento que devuelve) por nada. Así que no creo que sea más rápido, no.– Frederic Hamidi
8 de julio de 2015 a las 12:27
-
Esta es una buena respuesta, pero pasa por alto el hecho de que la cadena puede contener un espacio en blanco adicional al final de la cadena, lo que hace que esta sea una solución incorrecta. Debe recortar los espacios en blanco adicionales.
– AleksandrH
5 de diciembre de 2016 a las 15:35
-
@Aleksandr, es bastante difícil evaluar todas las cosas que se pueden “pasar por alto” al responder una pregunta con un contexto específico. Sí, podría haber un espacio en blanco inicial (aunque no lo hay en esta pregunta específica), o los caracteres de espacio podrían ser algo diferente a los espacios “normales” (sin interrupciones, delgados, angostos, en, em, etc.), o algo más. Por lo general, trato de ceñirme al perímetro de la pregunta, de lo contrario, terminaría con respuestas enormes y diluiría las partes que abordan fácilmente las preguntas.
– Frederic Hamidi
5 de diciembre de 2016 a las 15:39
-
Está bien, aunque no puedo imaginar que haya otras cosas que deba tener en cuenta si solo estamos tratando con cadenas, además de la posibilidad de espacios en blanco iniciales (que es una solución fácil). Solo quería señalarlo para una solución más “completa”.
– AleksandrH
5 de diciembre de 2016 a las 17:34
ChristopheCVB
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.
Quería eliminar la primera palabra de cada elemento en Array of strings. 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.
Otra solución:
var line = "Mon 25-Jul-2011";
var edited = line.substring( line.indexOf(" ") + 1, line.length );
demasiado pagar
Puede manipular cualquier dom, utilizando su identificación 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>
Refael
var str = "Mon 25-Jul-2011";
var firstSpace=str.indexOf(" ");
var newStr= str.slice(firstSpace);
//result:"25-Jul-2011"
foz
Esto debería dar como resultado “25 de julio de 2011”:
var string = "Mon 25-Jul-2011";
string = string.split(' ').pop();
-
No, si tengo algo como “Stack Over Flow”, devuelve “Flow”.
–Francisco Corrales Morales
07/04/2015 a las 15:34
-
este no es un caso general, como mencionó @FranciscoCorralesMorales
– hatirlatici
18 de enero de 2021 a las 11:31