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

访客4年前黑客文章1106

众所周知,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米代金券、领会最新阿里云产物的种种优惠流动点击进入

相关文章

面试100人后,我希望你是这样的产品经理

面试100人后,我希望你是这样的产品经理

我一直想招个产物司理,前后头试了近100人。但至今还没招到。 招小我私家为什么就这么难? 有时候,我也思考。要说产物的根基本领,大部门口试者都是合格的,个体甚至拔尖,可最终我照旧没有敲定。 我大概是...

怎么包书皮折出花边(韩式包书皮的教程)

怎么包书皮折出花边(韩式包书皮的教程)

在小编还是学生的年代 开学拿到新书,第一件事如下 包书皮! 好令人怀念的挂历纸背面~ 通常一个学期过去,书皮旧了,书封还是新的! 开学在即,今天我们聊聊各种材料&风格的包书皮! ❶ 传统包...

周星驰朱茵(为何一直不公开)

周星驰朱茵(为何一直不公开) 曾经有一份真诚的爱情放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。如果非要在这份爱上加上一个期限,我希望是……一万年! 这是电影《大话...

松阪烧烤这个店能开吗?找好品牌让加盟开店不是梦

松阪烧烤这个店能开吗?找好品牌让加盟开店不是梦

随着社会的进步经济水平的提升,越来越多的加盟品牌出现在社会大众眼前。做加盟品牌相对于零经验零基础的创业小白来说是最好的选择。烧烤行业进来发展的势头正猛,所以加盟商创业者纷纷把目光聚集在烧烤行业上。那么...

拉屎歌(促进排便的音乐)

  有点像啦不出的感受,不是海内唱的,   《社会主义好》   编的好我就边拉边唱   大便的时候,我会很忧伤 我只想安平悄悄的大便,沉湎于吊唁。 每当大便,我城市感想很忧伤很忧伤,仿佛体内每个细胞都...

2017找黑客-黑客用什么软件入侵电脑(黑客通过什么方式入侵电脑系统)

2017找黑客-黑客用什么软件入侵电脑(黑客通过什么方式入侵电脑系统)

2017找黑客相关问题 ddos黑客技术qq群相关问题 黑客怎么黑网站 黑客是怎么攻击网站的方法(黑客攻击网站方法)...