js 字符串截取方法汇总

js 字符串截取方法汇总一、使用slice()截取1,函数说明slice()方法可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。语法如下:string.slice(start,end);start(必需):规定从何处开始选取。如果是负数,那么它规定从字符串尾部开始算起的位置。也就是说,-1指最后一个字符,-2指倒数第二个字符,以此类推。参数说明:end(可选):规定从何处结束选取,即结束处的字符下标。如果没有指定该参数,那么截取的字符串包含从start到结束的所…

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

一、使用 slice() 截取

1,函数说明

slice() 方法可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。

语法如下:

string.slice(start, end);
start(必需):规定从何处开始选取。如果是负数,那么它规定从字符串尾部开始算起的位置。也就是说,-1 指最后一个字符,-2 指倒数第二个字符,以此类推。参数说明:

end(可选):规定从何处结束选取,即结束处的字符下标。如果没有指定该参数,那么截取的字符串包含从 start 到结束的所有字符。如果这个参数是负数,那么它规定的是从数组尾部开始算起的字符。

2,使用样例

var str = “0123456789”;

console.log(“原始字符串:”, str);

console.log(“从索引为3的字符起一直到结束:”, str.slice(3));  //3456789

console.log(“从倒数第3个字符起一直到结束:”, str.slice(-3));  //789

console.log(“从开始一直到索引为5的前一个字符:”, str.slice(0,5));  //01234

console.log(“从开始一直到倒数第3个字符的前一个字符:”, str.slice(0,-3));  //0123456

console.log(“从索引为3的字符起到索引为5的前一个字符:”, str.slice(3,5));  //34

console.log(“从索引为3的字符起到倒数第3个字符的前一个字符:”, str.slice(3,-3));  //3456

二、使用 substring() 截取

1,函数说明

(1)substring 方法用于提取字符串中介于两个指定下标之间的字符。

语法如下:

string.substring(start, stop)

start(必需):一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。参数说明:

stop(可选):一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

返回值说明:
该方法返回一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

(2)注意事项:

  • 如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
  • 如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
  • 如果 start 或 end 为负数,那么它将被替换为 0。

2,使用样例

var str = “0123456789”;

console.log(“原始字符串:”, str);

console.log(“从索引为3的字符起一直到结束:”, str.substring(3));  //3456789

console.log(“从索引为20的字符起一直到结束:”, str.substring(20));  //

console.log(“从索引为3的字符起到索引为5的前一个字符结束:”, str.substring(3,5));  //34

console.log(“start比end大会自动交换,结果同上:”, str.substring(5,3));  //34

console.log(“从索引为3的字符起到索引为20的前一个字符结束:”, str.substring(3,20));  //3456789

三、使用 substr() 截取

1,函数说明

substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

语法如下:

stringObject.substr(start, length);
start(必需):所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length(可选):在返回的子字符串中应包括的字符个数。

(2)注意事项:

  • 如果 length 为 0 或负数,将返回一个空字符串。 
  • 如果没有指定 length,则子字符串将延续到 stringObject 的最后。
  • 如果 start 或 length 为负数,那么它将被替换为 0。

2,使用样例

var str = “0123456789”;

console.log(“原始字符串:”, str);

console.log(“从索引为3的字符起一直到结束:”, str.substr(3));  //3456789

console.log(“从索引为20的字符起一直到结束:”, str.substr(20));  //

console.log(“从索引为3的字符起截取长度为5的字符串:”, str.substr(3,5));  //34567

console.log(“从索引为3的字符起截取长度为20的字符串:”, str.substr(3,20));  //3456789

四、其他常用方法

1,indexOf()

返回字符串中匹配子串的第一个字符的下标。

var str = “JavaScript”;

var i1 = str.indexOf(“a”); //1

var i2 = str.indexOf(“S”); //4

var i3 = str.indexOf(“Script”); //4

var i4 = str.indexOf(“k”); //-1

console.log(“原始字符串:”, str);

console.log(“a的索引:”, i1);

console.log(“S的索引:”,i2);

console.log(“Script的索引:”,i3);

console.log(“k的索引:”,i4);

2,lastIndexOf()

该方法返回从右向左出现某个字符或字符串的首个字符索引值(与 indexOf 相反)

var str = “JavaScript”;

var i1 = str.lastIndexOf(“a”); //3

var i2 = str.lastIndexOf(“S”); //4

var i3 = str.lastIndexOf(“Script”); //4

var i4 = str.lastIndexOf(“k”); //-1

3,split()

使用一个指定的分隔符把一个字符串分割存储到数组。

var str = “jpg|bmp|gif|ico|png”;

var arr= str.split(“|”);

console.log(arr);

 

4,join()

使用一个指定的分隔符将一个数组合并为一个字符串。

var arr= new Array(“jpg”,”bmp”,”gif”,”ico”,”png”);

var str = arr.join(“|”);

console.log(str);

5,concat()

将两个数组连接在一起。

var arr1 = [1, 2, 3];

var arr2 = [4, 5, 6];

var arr3 = arr1.concat(arr2);

console.log(arr3);

6,charAt()

返回指定位置的字符。字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。

var str = “abcdefg”;

var char = str.charAt(2);  //c

console.log(char);

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • think in java一_Think in Java(一):Java基础「建议收藏」

    think in java一_Think in Java(一):Java基础「建议收藏」一.OOP的特点(1)万物皆为对象;(2)程序是对象的集合,他们通过发送信息来告诉彼此所要做的;(3)每个对象都有自己的由其他对象所构成的存储;(4)每个对象都拥有它的类型;(5)某一特定类型的对象都可以接收同样的消息;二.Java比C++简单?(1)Java有垃圾回收器,不用手动销毁对象;(2)Java使用单根继承;(3)Java只能以一种方式创建对象(在堆上创建);三….

    2022年7月8日
    24
  • ARIMA_如何确定arima模型的阶数

    ARIMA_如何确定arima模型的阶数1 总体介绍在以下主题中,我们将回顾有助于分析时间序列数据的技术,即遵循非随机顺序的测量序列。与在大多数其他统计数据的上下文中讨论的随机观测样本的分析不同,时间序列的分析基于数据文件中的连

    2022年8月5日
    7
  • git命令

    git命令

    2022年3月7日
    44
  • JY02调试-无刷电机驱动芯片[通俗易懂]

    JY02调试-无刷电机驱动芯片[通俗易懂]JY02是国内研制的无刷电机驱动芯片,相比于之前的DRV11873,少了集成的MOSFET,只能通过外部扩展MOSFET驱动芯片和功率管达到功率输出的目的,虽然在电路设计上增加了复杂度,但可以极大的提高电机驱动的输出功率,由于使用了外部的MOSFET,输出功率基本由功率MOSFET的驱动能力决定。JY02是硬件应用,不需要编写驱动固件,内部集成反电动势检测电路,支持’Y’形和三角形电机,支持过流检…

    2022年4月19日
    221
  • ensp的dhcp配置命令(怎么配置dhcp服务器)

    DHCP动态主机配置协议,用来分配IP地址等网络参数。用户上网需要的条件:IP地址,网关,DNS…注意:除非有特殊需求会采用静态配置(员工比较多的企业)路由器、核心交换机、Linux、服务器等上面都可以配置DHCP。DHCP配置实验:dhcp第一种分配IP地址的配置方式:[Huawei]dhcpenable:在路由器上,开启DHCP功能。[Huawei]intg0/0/0ipaddress10.1.1.1进入与设备相连的接口添加物理IP[Huawei]ippool

    2022年4月18日
    100
  • vue(5)—路由–2019.5.24学习笔记

    vue(5)—路由–2019.5.24学习笔记

    2021年7月7日
    73

发表回复

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

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