Conserver uniquement les n premiers caractères d'une chaîne?


305

Existe-t-il un moyen en JavaScript pour supprimer la fin d'une chaîne?

Je dois seulement garder les 8 premiers caractères d'une chaîne et supprimer le reste.

Réponses:


523

Vous recherchez la Stringméthode JavaScriptsubstring

par exemple

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

Qui renvoie la chaîne commençant au premier caractère et se terminant avant le 9ème caractère - c'est-à-dire «Hiya comment».

documentation de sous-chaîne


64

Vous pouvez utiliser String.slice:

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

En utilisant ceci, une extension String pourrait être:

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

Voir également


9
+1 parce que str.slice () vous permet de faire le deuxième argument négatif à compter de l'arrière, à la différence str.substring: "abcdef".slice(0, -2) == "abcd".
Claude

15

Utiliser la fonction de sous-chaîne
Vérifiez ceci http://jsfiddle.net/kuc5as83/

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

Output >> 34567890

substr(-8) conservera les 8 derniers caractères

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

Output >> 90

substr(8) conservera les 2 derniers caractères

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

Output >> 12345678

substr(0, 8) conservera les 8 premiers caractères

Vérifiez cela string.substr (début, longueur)


1
Supprime ou conserve les 8 derniers caractères?
vusan

2

Tu pourrais essayer:

myString.substring(0, 8);

(0,7) donnera les 7 premiers caractères
Saket

Oui, vous avez raison, le deuxième index est un point d'arrêt et n'est pas inclus dans la valeur de retour. Fixé.
Mike Christensen


1

Utilisez l' string.substring(from, to) API . Dans votre cas, utilisezstring.substring(0,8).


1

Vous pouvez utiliser .substring, qui retourne une potion d'une chaîne:

"abcdefghijklmnopq".substring(0, 8) === "abcdefgh"; // portion from index 0 to 8
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.