js中字符串截取的几种方式

访客4年前黑客文章1108

众所周知,js提供了许多字符串截取的方式。下面主要先容js中slice(),splice(),split(),substring(),substr()的使用和区别


slice()

可从已有的数组中返回选定的米素。使用范围:Array 和String。语法:

obj.slice(start, end)

参数:

start: 必须。划定从数组(字符串)的哪个index更先选取,若是是负数,则从数组(字符串)尾部算index,好比,-1指最后一个米素,-2指倒数第二个米素。
end:可选。划定到哪个index之前竣事。若是没有指定该参数,那么切分的数组(字符串)包罗从start到数组(字符串)竣事的所有米素。若是这个参数是负数,那么它划定的是从数组(字符串)尾部更先算起的米素。

返回值:

返回一个新的数组(字符串),包罗从start到end(不包罗改米素)的obj中的米素。

说明:

该方式并不会修改数组(字符串),而是返回一个子数组(子串)

例子: 


 splice()

向/从数组中添加/删除项目,然后返回被删除的项目。该方式会改变原始数组。使用范围:Array。语法:

arrayObject.splice(index, howmany, ite1,......, itemxX)

参数:

index: 必须。正数,划定添加/删除项目的index,使用负数可从数组末端处划定位置。
howmany: 必须。要删除的项目数目。若是设置为0,则不会删除项目。
item1, ..., itemX: 可选。向数组添加的新米素。

返回值:

Array: 包罗被删除项目的新数组,若是有的话。

说明:

splice()方式可删除从Index处更先的零个或者多个米素,而且用参数列表中声明的一个或者多个值来替换那些被删除的米素。若是从arrayObject中删除了米素,则返回的是包罗被删除的米素的数组。

例子:



split()

用于把一个字符串支解成字符串数组。使用范围:String。语法:

stringObject.split(seperator, howmany)

参数:

seperator: 必须。字符串或者正则表达式,从该参数指定的地方支解stringObject。
howmany: 可选。该参数可指定返回的数组的更大长度。若是设置了该参数,返回的子串不会多于这个参数指定的数组。若是没有设置改参数,整个字符串都会被支解,不思量它的长度。

返回值:

一个字符串数组。该数组是在separator指定的界限处将字符串stringObject支解成子串建立的。返回的数组中的子串不包罗seperator自身。然则,若是seperator是包罗子表达式的正则表达式,那么返回的数组中包罗与这些子表达式匹配的字符串(但不包罗与整个正则表达式匹配的文本)。

提醒:

若是把空字符串('')用作seperator,呢么stringObject中的每个字符之间都会被支解;

String.split()执行的操作与Array.join执行的操作是相反的。

例子:



substring()

用于提取字符串中介于两个指定index之间的字符。使用范围:String。语法:

stringObject.substring(start, stop)

参数:

start: 必须。一个非负的正数,划定要提取的子串的之一个字符在stringObject中的位置。
stop: 可选。一个非负的正数,比要提取的子串的最后一个字符在stringObject中的位置多1.若是省略该参数,那么返回的子串会一直到字符串的末端。

返回值:

一个新的字符串,该字符串值包罗stringObject的一个子字符串,其内容是从start处到stop-1处的所有字符,其长度为stop减start。

说明:

substring()方式返回的子串包罗start处的字符,但不包罗stop处的字符。若是stop和start相等,返回的是一个空串。若是start比stop大,那么该方式在提取子串之前会先交流这两个参数。

提醒:

与slice()和substr()方式差别的是,substring()不接受负的参数。

例子:



substr()

在字符串中抽取从start下表更先的指定书目的字符。语法:

stringObject.substr(start, length)

参数:

start: 必须。要抽取的子串的实在下表。必须是数值。若是是负数,那么该参数声明从字符串的尾部更先算起的位置。也就是说,-1指字符串中最后一个字符,-2指倒数第二个字符,以此类推。
length: 可选。字串中的字符数,必须是数值,若是省略了该参数,那么返回从stringObject的更先位置到竣事的字符串。

返回值:

一个新的字符串,包罗从stringObject的start处更先的length哥字符。

提醒:

substr()的参数指定的是子串的更先位置和长度,因此它可以替换substring()和slice()来使用。

ES中没有对该方式举行标准化,因此否决使用。

例子:



思源资源网:分类流动

1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入

相关文章

三星S21系列产品送手机耳机吗 或将与无线蓝牙耳机强卖

2020年苹果12产品系列为了更好地能够更好地生态环境保护取消了随附有线耳机和充电插头,大家在想安卓手机系统哪一个会是最先效仿的,有信息内容称,2020年三星S21产品系列将撤消有线耳机,一起来了解一...

教你如何防范黑客的入侵  教你如何防范黑客攻击

 一.察看本地共享资源 运行CMD输入net share,如果看到有异常的共享,那么应该关闭。但是有时你关闭共享下次开机的时候又出现了,那么你应该考虑一下,你的机器是否已经被黑客所控制了,或者...

孩子生病带娃说说怎么发 宝宝生病妈妈带孩子心情说说朋友圈

孩子生病带娃说说怎么发 宝宝生病妈妈带孩子心情说说朋友圈

带娃是一件较为艰辛的事儿,而带得病的小孩是一件令人身心疲惫的事儿了,而在小孩得病的情况下大部分守候在小孩身旁的是母亲,母亲针对带得病的小孩的情绪能够 说成很繁杂了,那麼母亲得病带娃的说说怎么写好呢,我...

新方法有望提前半年检出肝癌真的吗?检出肝癌的新方法是什么

 近日,国家癌症中心发布了最新的全国癌症统计数据,由于全国肿瘤登记中心的数据一般滞后3年,本次公布的是2015年的全国恶性肿瘤的发病、死亡情况。数据显示,2015年全国恶性肿瘤发病约392.9万人,较...

找黑客查隐私(黑客接单是真的吗)

查隐私怎么找黑客 1、接单黑客与。查隐私接单是真的吗毛骨悚然,即凡是达到刑事责任年龄具有刑事责任能力的人。美国司法部曾经将米特尼克称为。黑客但是注意。他超越了经典物理学。全接单世界能够称之为黑客的人屈...

电子城管委会网站(北京市朝阳区电子城科技园

电子城管委会网站(北京市朝阳区电子城科技园

2019年10月16日,由电子城集团、中关村朝阳园管委会主办的“5G@all三网联合开通测试活动”在北京电子城·国际电子总部举行,标志着电子城高科技产业园区成为国内首个5G三网室内外信号覆盖的科技...