Leer caracteres de una cadena de texto antes de un espacio con Javascript

publicado por: Anonymous

Necesito hacer lo siguiente, y no encuentro una forma adecuada para hacerlo…

Este es el código de una función, que mete dos tabulados (dos espacios con t) al encontrar el primer espacio dentro de la variable ‘customText’.

function generatePageLinks(text, isChapter, pageId) {

        //Variable auxiliar que captura el texto de la página de 'text'.

        var aux = text;
        var customText = aux.replace(" ", "tt");


        var $element = $(document.createElement('td'));
        var $link = $('<a class="hier-link"></a>').attr('href', '#').attr('data-page-id', pageId).text(customText);

        $element.append('<div class="text-wrapper">');
        $element.append($('<pre class="hier-move">').html(isChapter ? customText : $link));
        return $element;

    }

Necesito mejorar ésta función, para que aplique dos tabulados cuando haya 2 caracteres antes del espacio, y un único tabulado en caso de que haya 3 caracteres antes de espacio.

Es viable? Mil gracias de ante mano!.

solución

Utiliza indexOf… Sirve para obtener la primera ubicación de la cadena dada.

Ejemplo

if (aux.indexOf(' ') == 2) {
  // hay dos caracteres antes del primer espacio 
  var customText = aux.replace(" ", "tt"); // se remplaza por 2 tabs
} else if (aux.indexOf(' ') == 3) {
  // hay 3
  var customText = aux.replace(" ", "t"); // se reeplaza por 1 tab
} else {
   // otro caso
}

Saludos

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *