如何在JavaScript中从末尾截取字符串?

28

我有一个包含二进制值的字符串列表,它们的长度不同,但是我需要从每个值中截取最后的18个字符。因此,在下面的示例中,需要保留粗体部分。

11001000000000000001010

110000000001101011100

使用JavaScript,应该如何实现这个功能?


4
你不理解 String.prototype.slice 的具体含义是什么? - Hamms
如果二进制值少于18个字符,您想要做什么? - nivas
1
@nivas 我手头的所有值都不小于18,所以这不会是一个问题。 - Gazz
1
你可以使用 str.substr(0, str.length - 18);,这样更清晰明了! - ibrahim mahrir
1个回答

70

String.prototype.slice() 函数中,您需要使用负索引。

  • 将负索引作为第一个参数使用,将返回从字符串末尾开始计算的前6个元素组成的切片字符串。

var example = "javascript";
console.log(example.slice(-6)); 

  • 使用负数作为第二个参数,返回从末尾开始计数的第6个元素到开头的切片字符串,与第一种方法相反。
  • 使用负数索引作为第二个参数,返回从末尾开始计数的第6个元素到开头的切片字符串。这与第一种方法相反。

var example = "javascript";

console.log(example.slice(0, -6));

就您的情况而言,您需要使用第二种方法。

console.log('11001000000000000001010'.slice(0, -18));

console.log('110000000001101011100'.slice(0, -18));

如果您想了解有关该功能的更多信息,请访问:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice

如果您仍然感兴趣,请访问http://meta.stackoverflow.com/questions/344581/so-should-force-downvoters-to-leave-a-comment。 - ibrahim mahrir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接