¿Mantener solo los primeros n caracteres en una cadena?

305

¿Hay alguna manera en JavaScript para eliminar el final de una cadena?

Solo necesito mantener los primeros 8 caracteres de una cadena y eliminar el resto.

usuario978905
fuente

Respuestas:

523

Estás buscando el Stringmétodo de JavaScriptsubstring

p.ej

'Hiya how are you'.substring(0,8);

Que devuelve la cadena que comienza en el primer carácter y termina antes del noveno carácter, es decir, 'Hola, cómo'.

documentación de la subcadena

Sábalo
fuente
64

Podrías usar String.slice:

var str = '12345678value';
var strshortened = str.slice(0,8);
alert(strshortened); //=> '12345678'

Usando esto, una extensión de cadena podría ser:

String.prototype.truncate = String.prototype.truncate ||
  function (n){
    return this.slice(0,n);
  };
var str = '12345678value';
alert(str.truncate(8)); //=> '12345678'

Ver también

KooiInc
fuente
99
1 porque str.slice () le permite hacer el segundo argumento negativo a contar desde la parte posterior, a diferencia de str.substring: "abcdef".slice(0, -2) == "abcd".
Claude
15

Utilice la función de subcadena .
Mire esto http://jsfiddle.net/kuc5as83/

var string = "1234567890"
var substr=string.substr(-8);
document.write(substr);

Output >> 34567890

substr(-8) mantendrá los últimos 8 caracteres

var substr=string.substr(8);
document.write(substr);

Output >> 90

substr(8) mantendrá los últimos 2 caracteres

var substr=string.substr(0, 8);
document.write(substr);

Output >> 12345678

substr(0, 8) mantendrá los primeros 8 caracteres

Mira esto string.substr (inicio, longitud)

Wazy
fuente
1
¿Eliminará o conservará los últimos 8 caracteres?
vusan
2

Tu podrías intentar:

myString.substring(0, 8);
Mike Christensen
fuente
(0,7) dará los primeros 7 caracteres
Saket
Sí, tiene razón, el segundo índice es un punto de parada y no está incluido en el valor de retorno. Fijo.
Mike Christensen
2
var myString = "Hello, how are you?";
myString.slice(0,8);
Sahil Muthoo
fuente
1

Utiliza la string.substring(from, to) API . En su caso, usestring.substring(0,8).

Saket
fuente
1

Puede usar .substring, que devuelve una poción de una cadena:

"abcdefghijklmnopq".substring(0, 8) === "abcdefgh"; // portion from index 0 to 8
pimvdb
fuente