Zachowujesz tylko pierwsze n znaków w ciągu?

305

Czy w JavaScript jest sposób na usunięcie końca łańcucha?

Muszę zachować tylko pierwsze 8 znaków ciągu, a resztę usunąć.

użytkownik978905
źródło

Odpowiedzi:

523

Szukasz Stringmetody JavaScriptsubstring

na przykład

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

Zwraca ciąg rozpoczynający się od pierwszego znaku i kończący się przed 9 znakiem - tzn. „Cześć jak”.

dokumentacja podciągów

Aloza
źródło
64

Możesz użyć String.slice:

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

Korzystając z tego, rozszerzenie String może być:

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

Zobacz też

KooiInc
źródło
9
+1 ponieważ str.slice () pozwala na wykonywanie drugi ujemny argument liczyć od tyłu, w przeciwieństwie str.substring: "abcdef".slice(0, -2) == "abcd".
Claude
15

Użyj funkcji substring
Sprawdź to http://jsfiddle.net/kuc5as83/

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

Output >> 34567890

substr(-8) zachowa ostatnie 8 znaków

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

Output >> 90

substr(8) zachowa ostatnie 2 znaki

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

Output >> 12345678

substr(0, 8) zachowa pierwszych 8 znaków

Sprawdź to string.substr (start, length)

Wazy
źródło
1
Czy usunie lub zachowa ostatnie 8 znaków?
vusan
2

Możesz spróbować:

myString.substring(0, 8);
Mike Christensen
źródło
(0,7) da pierwsze 7 znaków
Saket
Tak, masz rację, drugi indeks jest punktem zatrzymania i nie jest uwzględniony w wartości zwracanej. Naprawiony.
Mike Christensen
2
var myString = "Hello, how are you?";
myString.slice(0,8);
Sahil Muthoo
źródło
1

Użyj string.substring(from, to) interfejsu API . W twoim przypadku użyjstring.substring(0,8).

Saket
źródło
1

Możesz użyć .substring, który zwraca miksturę ciągu:

"abcdefghijklmnopq".substring(0, 8) === "abcdefgh"; // portion from index 0 to 8
pimvdb
źródło