最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

JS截取字符串的三種方法

2022-07-02 14:42 作者:朵寶特工007  | 我要投稿

JS中有三個(gè)截取字符串的方法,分別是substring()、substr()、slice()。

相同點(diǎn):對(duì)字符串進(jìn)行截取,并且返回一個(gè)新的字符串,不會(huì)對(duì)原字符串進(jìn)行修改。

不同點(diǎn):參數(shù)不同。

1、substring()

用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符。

語法:string.substring(start,stop)

參數(shù)

????start必需。一個(gè)非負(fù)的整數(shù)?,規(guī)定要提取的子串的第一個(gè)字符在string中的位置。?

????stop可選。一個(gè)非負(fù)的整數(shù)?,比要提取的子串的最后一個(gè)字符在string中的位置多 1。?如果省略該參數(shù),那么返回的子串會(huì)一直到字符串的結(jié)尾。

說明

? ? (1)substring() 方法返回的子串包括 start 處的字符,但不包括 stop 處的字符。

? ? (2)如果參數(shù) start 與 stop 相等,那么該方法返回的就是一個(gè)空串(即長(zhǎng)度為 0 的字符串)。

????(3)如果 start 比 stop 大,那么該方法在提取子串之前會(huì)先交換這兩個(gè)參數(shù)。

? ? (4)如果 start 和 stop 有負(fù)數(shù),那么會(huì)把該參數(shù)自動(dòng)轉(zhuǎn)為0,然后繼續(xù)上述規(guī)則。

? ? (5)如果 start 和 stop 有正小數(shù)(負(fù)數(shù)直接進(jìn)行第4條),那么會(huì)把該參數(shù)向下取整,然后繼續(xù)上述規(guī)則。

? ? (6)如果 start 和 stop 有字符串,那么會(huì)先進(jìn)行parseInt(),如果轉(zhuǎn)換結(jié)果為NaN,那么就轉(zhuǎn)換為0,其余情況繼續(xù)上述規(guī)則。


2、substr()

在字符串中抽取從start下標(biāo)開始的指定數(shù)目的字符。

該方法與substring()最大的區(qū)別在于第二個(gè)參數(shù)是你需要截取字符串的長(zhǎng)度,而不是位置。

語法:string.substr(start,length)

參數(shù)

????start必需。要抽取的子串的起始下標(biāo)。必須是數(shù)值。如果是負(fù)數(shù),那么該參數(shù)聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符,以此類推。

????length可選。子串中的字符數(shù)。必須是數(shù)值。如果省略了該參數(shù),那么返回從string的開始位置到結(jié)尾的字串。

說明

? ? (1)substr() 方法返回的子串從 start 處的字符開始(包括)往后截取length長(zhǎng)度,如果超過最末端就到最末端結(jié)束。

????(2)start可以取負(fù)值,表示從字符串尾部往頭部開始數(shù)(從右到左,注意是從1開始,比如-1 指字符串中最后一個(gè)字符),但是截取長(zhǎng)度還是從左到右,如果超過最末端就到最末端結(jié)束。

????(3)如果length為負(fù)值,那么會(huì)直接當(dāng)成0處理,最終返回""。

????(4)如果start或者length為小數(shù),那么會(huì)截取小數(shù)部分。

?????(5)如果 start 和 length 有字符串,那么會(huì)先進(jìn)行parseInt(),如果轉(zhuǎn)換結(jié)果為NaN,那么就轉(zhuǎn)換為0,其余情況繼續(xù)上述規(guī)則。


3、slice()

可提取字符串的某個(gè)部分,并以新的字符串返回被提取的部分。

該方法的兩個(gè)參數(shù)均為位置坐標(biāo),和subtring比較像,區(qū)別就是該方法支持負(fù)數(shù),并且不會(huì)交換位置,始終是從start到end,如果該區(qū)間不存在,那么返回''"。

語法:string.slice(start,end)

參數(shù)

????start必須。要抽取的片斷的起始下標(biāo)。如果是負(fù)數(shù),則該參數(shù)規(guī)定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符,以此類推。????

????end可選。緊接著要抽取的片段的結(jié)尾下標(biāo)。若未指定此參數(shù),則要提取的子串包括start到原字符串結(jié)尾的字符串。如果該參數(shù)是負(fù)數(shù),那么它規(guī)定的是從字符串的尾部開始算起的位置。

說明

????(1)slice() 方法返回的子串包括 start 處的字符,但不包括end 處的字符。

????(2)當(dāng)start或者end為負(fù)值時(shí),定位方式和substr一樣,從右往左數(shù),從1開始。

????(3)start到end的順序始終是從左到右,如果最終start的位置在end的右邊,那么返回''"。

????(4)其他情況和substring處理方式一致?。

總結(jié)

  • substring()不支持負(fù)值,其他兩種方法均支持負(fù)數(shù)表示,并且是從右邊第一位開始計(jì)數(shù)。

  • substr()的第二個(gè)參數(shù)是長(zhǎng)度。

  • slice()的方向性比較強(qiáng),永遠(yuǎn)都是從start->end對(duì)應(yīng)左->右。


JS截取字符串的三種方法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东宁县| 平安县| 普格县| 栾城县| 遵化市| 巴林左旗| 凤山县| 淮北市| 涪陵区| 岳池县| 宁河县| 浦江县| 泸溪县| 道真| 北宁市| 宁都县| 东海县| 望城县| 射洪县| 呈贡县| 博乐市| 永年县| 塘沽区| 航空| 西宁市| 永济市| 天镇县| 东辽县| 齐齐哈尔市| 游戏| 疏附县| 绿春县| 玉溪市| 贡嘎县| 那坡县| 务川| 开江县| 通辽市| 子洲县| 武鸣县| 高尔夫|