js 字符串的截取

var str = '0123456789';

1. slice(start: number, end?: number)

參數(shù)一: 開始索引
參數(shù)二: 結(jié)束索引 (選填)

1. 包括開始字符, 不包括結(jié)束字符 <=> [start, end)
2. 若start大于字符串的長度 ,

則返回空字符串

3. start < end

返回空字符串

4. 若end 省略,

則截取到字符串的末尾

5. 若參數(shù)小于0 ,

則會(huì)將它與字符串的長度相加,
若相加還是小于0, 則從首位開始截取

str.slice(1, 2)        // '1'

str.slice(20)         //''

str.slice(2, 1)        // ''

str.slice(4)           //'456789'

str.slice(-3)          //  '789'
  
str.slice(-20)         //'0123456789'

2. substring(start: number, end?: number)

substring() 與slice()的用法一致, 現(xiàn)在介紹一下他們的區(qū)別

1.若 參數(shù)為負(fù)數(shù)

substring()方法會(huì)將負(fù)值視為0
slice() 方法會(huì)將負(fù)值與字符串長度相加

2.若 start < end

那么效果substring()就好像這兩個(gè)論點(diǎn)被交換了一樣

str.substring(-2)    //'0123456789'    等價(jià)于    str.substring(0) 

str.slice(-2)      //'89'  等價(jià)于    str.slice(str.length - 2) 


//當(dāng)start < end 時(shí)
str.substring(3, 1)   // '12'  等價(jià)于  str.substring(1, 3)

str.slice(3, 1)          // ''

3. substr(start: number, length?: number)

參數(shù)一: 開始索引
參數(shù)二: 截取的字符串長度

由于它不在 JavaScript 的標(biāo)準(zhǔn)中,所以您應(yīng)該盡 量用 substring()去代替它。

1.若 start < 0

若參數(shù)小于0 , 則會(huì)將它與字符串的長度相加,
若相加還是小于0, 則從首位開始截取

2. 若start > str.length

若字符串的開始索引大于字符串的長度, 返回空字符串

3. 若length 為0 或負(fù)數(shù)

返回空字符串

4. 若length 省略

則將substr()字符提取到字符串的末尾

str.substr(-9,3)     //'12'

str.substr(-10)      //'0123456789'

str.substr(20)       //''

str.substr(2, -1)    //''

str.substr(3)        //'3456789'

示例 : 現(xiàn)有字符串 var str = '0123456789';
1). 前3位 '012'
2) 中間4位 '3456'
2). 后3位 '789'

  1) 012
    str.slice(0, 3)
    str.slice(0, -7)
    str.substring(0, 3)
    str.substring(-1, 3)
    str.substring(-1, 3)
    str.substr(0, 3)

2) 3456
    str.slice(3, 7)
    str.slice(3, -3)
    str.slice(-7, 7)
    str.slice(-7, -3)
    str.substring(3, 7)
    str.substring(7, 3)
    str.substr(3, 4)
    str.substr(-7, 4)

3) 789
    str.slice(-3)
    str.slice(7)
    str.substring(7)
    str.substr(7)
    str.substr(-3)
    str.substr(7, 3)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容