Зберегти лише перші п символів у рядку?


305

Чи існує спосіб у JavaScript видалити кінець рядка?

Мені потрібно лише зберегти перші 8 символів рядка і видалити решту.

Відповіді:


523

Ви шукаєте Stringметод JavaScriptsubstring

напр

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

Який повертає рядок, починаючи з першого символу і закінчуючи перед 9-м символом - тобто "Hiya how".

документація на підрядку


64

Ви можете використовувати String.slice:

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

Використовуючи це, розширення String може бути:

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

Дивись також


9
+1 , тому що str.slice () дозволяє зробити другий аргумент негативний порахувати зі спини, в відміну від str.substring: "abcdef".slice(0, -2) == "abcd".
Клод

15

Використання функції підрядки
Перевірте це http://jsfiddle.net/kuc5as83/

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

Output >> 34567890

substr(-8) збереже останні 8 символів

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

Output >> 90

substr(8) збереже останні 2 символи

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

Output >> 12345678

substr(0, 8) збереже перші 8 символів

Перевірте це string.substr (початок, довжина)


1
Чи буде видалено або збережено останні 8 символів?
вусан



1

Використовуйте string.substring(from, to) API . У вашому випадку використовуйтеstring.substring(0,8).


1

Ви можете використовувати .substring, що повертає зілля з рядка:

"abcdefghijklmnopq".substring(0, 8) === "abcdefgh"; // portion from index 0 to 8
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.