¿Cómo puedo eliminar la primera palabra de una línea?

3 minutos de lectura

avatar de usuario de prime
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

Avatar de usuario de ChristopheCVB
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 );

avatar de usuario de toopay
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>

Avatar de usuario de Refael
Refael

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

avatar de usuario de foz
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


¿Ha sido útil esta solución?