JavaScript字符串截取

substr

概述
  substr() 方法返回字符串中从指定位置开始的指定数量的字符。

语法

String str.substr(start[, length]);

参数

start
开始提取字符的位置。如果为负值,则被看作 strLength+start,其中 strLength 为字符串的长度(例如,如果 start 为 -3,则被看作 strLength-3)。

length
提取的字符数。

描述

start 是一个字符的索引。首字符的索引为 0,最后一个字符的索引为 字符串的长度减去1。substr 从 start 位置开始提取字符,提取 length 个字符(或直到字符串的末尾)。

如果 start 为正值,且大于或等于字符串的长度,则 substr 返回一个空字符串。

如果 start 为负值,则 substr 把它作为从字符串末尾开始的一个字符索引。如果 start 为负值且 abs(start) 大于字符串的长度,则 substr 使用 0 作为开始提取的索引。注意负的 start 参数不被 Microsoft JScript 所支持。

如果 length 为 0 或负值,则 substr 返回一个空字符串。如果忽略 length,则 substr 提取字符,直到字符串末尾。

案例

var str = "abcdefghij";

console.log("(1,2): "    + str.substr(1,2));   // (1,2): bc
console.log("(-3,2): "   + str.substr(-3,2));  // (-3,2): hi
console.log("(-3): "     + str.substr(-3));    // (-3): hij
console.log("(1): "      + str.substr(1));     // (1): bcdefghij
console.log("(-20, 2): " + str.substr(-20,2)); // (-20, 2): ab
console.log("(20, 2): "  + str.substr(20,2));  // (20, 2):

substring

概述
  substring() 返回字符串两个索引之间(或到字符串末尾)的子串。

语法

String str.substring(indexA[, indexB]);

参数

indexA
一个 0 到字符串长度之间的整数。

indexB
(optional) 一个 0 到字符串长度之间的整数。

描述

substring 提取从 indexA 到 indexB(不包括)之间的字符。特别地:

  • 如果 indexA 等于 indexB,substring 返回一个空字符串。
  • 如果省略 indexB,substring 提取字符一直到字符串末尾。
  • 如果任一参数小于 0 或为 NaN,则被当作 0。
  • 如果任一参数大于 stringName.length,则被当作 stringName.length。
  • 如果 indexA 大于 indexB,则 substring 的执行效果就像两个参数调换了一样。例如,str.substring(1, 0) == str.substring(0, 1)。

案例

// 假设 print 函数已被定义
var anyString = "Mozilla";

// 输出 "Moz"
console.log(anyString.substring(0,3));
console.log(anyString.substring(3,0));

// 输出 "lla"
console.log(anyString.substring(4,7));
console.log(anyString.substring(7,4));

// 输出 "Mozill"
console.log(anyString.substring(0,6));

// 输出 "Mozilla"
console.log(anyString.substring(0,7));
console.log(anyString.substring(0,10));

slice

概述
   slice()方法提取字符串中的一部分,并返回这个新的字符串。

语法

String str.slice(beginSlice[, endSlice]);

参数

beginSlice
从该索引(以 0 为基数)处开始提取原字符串中的字符。如果该参数为负数,则它表示从原字符串中的倒数第几个字符开始抽取, slice(-2)表示抽取了原字符串中的倒数第二个字符到最后一个字符(包含最后一个字符)。

endSlice
在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,slice会一直提取到字符串末尾。如果该参数为负数,则它表示在原字符串中的倒数第几个字符结束抽取.。slice(-2, -1) 表示抽取了原字符串中的倒数第二个字符到最后一个字符(不包含最后一个字符,也就是只有倒数第二个字符)。

描述

slice 不修改原字符串,只会返回一个包含了原字符串中部分字符的新字符串。

slice(1,4) 提取了原字符串中的第二个字符开始直到第四个字符的所有字符 (索引为 1, 2, 3的字符)。

str.slice(2, -1) 提取第三个字符到倒数第二个字符。

案例

var str1 = 'The morning is upon us.';
var str2 = str1.slice(4, -2);
console.log(str2); // OUTPUT: morning is upon u

var str = 'The morning is upon us.';
str.slice(-3);     // returns 'us.'
str.slice(-3, -1); // returns 'us'
str.slice(0, -1);  // returns 'The morning is upon us'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值