Bir dizede yalnızca ilk n karakter mi kalsın?


305

JavaScript'te bir dizenin sonunu kaldırmanın bir yolu var mı?

Ben sadece bir dizenin ilk 8 karakter tutmak ve gerisini kaldırmak gerekir.

Yanıtlar:


523

JavaScript'in Stringyöntemini arıyorsunuzsubstring

Örneğin

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

Bu, ilk karakterden başlayıp 9. karakterden önce biten dizeyi döndürür - yani 'Hiya how'.

alt dize belgeleri


64

Şunları kullanabilirsiniz String.slice:

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

Bunu kullanarak, bir String uzantısı şunlar olabilir:

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

Ayrıca bakınız


9
+1 çünkü str.slice (), str.substring: öğesinin aksine ikinci bağımsız değişkeni arkadan saymak için negatif yapmanıza izin verir "abcdef".slice(0, -2) == "abcd".
Claude

15

Alt dize işlevini kullanın
Bunu kontrol edin http://jsfiddle.net/kuc5as83/

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

Output >> 34567890

substr(-8) son 8 karakter tutacak

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

Output >> 90

substr(8) son 2 karakter tutacak

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

Output >> 12345678

substr(0, 8) ilk 8 karakteri tutacak

Bunu kontrol et string.substr (başlangıç, uzunluk)


1
Son 8 karakteri silecek veya tutacak mı?
Mart'ta vusan



1

string.substring(from, to) API'yı kullanın . Sizin durumunuzda,string.substring(0,8).


1

.substringBir dize iksiri döndüren şunu kullanabilirsiniz :

"abcdefghijklmnopq".substring(0, 8) === "abcdefgh"; // portion from index 0 to 8
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.