JavaScript字符串截取

JavaScript字符串截取一、常用方法说明1.substr2.substring3.slice二、举例说明1.substr2.substring3.slice

大家好,又见面了,我是你们的朋友全栈君。

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'
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130844.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月13日 上午11:36
下一篇 2022年6月13日 上午11:36


相关推荐

  • 学生成绩管理系统(C语言)「建议收藏」

    学生成绩管理系统(C语言)「建议收藏」思路学生成绩管理系统,首先要初始化系统,开始一个新的学生成绩系统初始化记录学生姓名,学号,院系,然后输入学生各科成绩,数学,英语,语文成绩。记录完各课成绩以后,可查看学生平均成绩和是否及格,成绩查询其中有学号查询,姓名查询,院系查询,还有全部输出,可以清晰的看到及格人数,按照分数高低排列,最后还可以添加和删除学生成绩,或者更改学生成绩,避免人为录入成绩错误。基本函数1.结构体structStudent定义一个结构体struct,结构体的关键字,students定义的结构体对象。学…

    2022年6月20日
    34
  • 两个51单片机之间进行串行通信

    两个51单片机之间进行串行通信文章目录案例介绍 案例分析 硬件设计案例介绍 利用单片机 a 将一段流水灯控制程序发送到单片机 b 来控制单片机 b 的 P1 口 点亮 8 位 LED 灯 案例分析 a 完成发送 b 完成接收 编写程序设置 a 令 SM0 0 SM1 1 串行口工作方式 1 设置 b 令 SM0 0 SM1 1 REN 1 使接收允许 1 数据发送程序 include reg51 h unsignedchar 0xfe 0xfd 0xfb 0xf7 0xef 0xdf 0xbf 0x7f reg51 h

    2026年3月18日
    2
  • matlab中wavedec2函数,[转载]小波滤波器–wavedec2函数

    matlab中wavedec2函数,[转载]小波滤波器–wavedec2函数wavedec2函数:1.功能:实现图像(即二维信号)的多层分解.多层,即多尺度.2.格式:[c,s]=wavedec2(X,N,’wname’)[c,s]=wavedec2(X,N,Lo_D,Hi_D)(我不讨论它)3.参数说明:对图像X用wname小波基函数实现N层分解,这里的小波基函数应该根据实际情况选择,具体办法可以:db1、db2、……db45、haar.输出为c,s.c为各层分…

    2022年6月16日
    77
  • 计算权重的方法_ahp权重计算方法

    计算权重的方法_ahp权重计算方法三.层叠和继承+继承父元素拥有了某个css属性,子元素不需要任何条件的情况下都会拥有父元素的属性。并不是所有的css属性都能继承,可以被继承的css属性有以下:colortextlin

    2022年8月4日
    8
  • duilib消息类型[终于解决]

    //定义所有消息类型//////////////////////////////////////////////////////////////////////////#defineDUI_MS

    2021年12月18日
    50
  • Ubuntu系统的基础操作–入门

    Ubuntu系统的基础操作–入门

    2021年6月3日
    112

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号