字符串中仅保留前n个字符?


305

JavaScript中有没有一种方法可以删除字符串的结尾?

我只需要保留字符串的前8个字符,然后删除其余的字符。

Answers:


522

您正在寻找JavaScript的String方法substring

例如

'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.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"
克洛德(Claude)

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(start,length)


1
会删除还是保留最后8个字符?
vusan 2014年



1

使用string.substring(from, to) API。根据您的情况使用string.substring(0,8).


1

您可以使用.substring,它返回字符串的一部分:

"abcdefghijklmnopq".substring(0, 8) === "abcdefgh"; // portion from index 0 to 8
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.