獲取子字符串的三種方法

slice()、substring()和substr()

這三個(gè)方法都返回被操作字符串的一個(gè)子字符串,而且也都接受一或兩個(gè)參數(shù)。

slice() 第一個(gè)參數(shù)指定子字符串的開始位置,第二個(gè)參數(shù)指定的是子字符串的結(jié)束位置(但不包括)。

substring() 第一個(gè)參數(shù)指定子字符串的開始位置,第二個(gè)參數(shù)指定的是子字符串的結(jié)束位置(但不包括)。

substr() 第一個(gè)參數(shù)指定子字符串的開始位置,第二個(gè)參數(shù)指定的是返回字符個(gè)數(shù)。

var stringValue = "hello world";
alert(stringValue.slice(3));        //"lo world"
alert(stringValue.substring(3));    //"lo world"
alert(stringValue.substr(3));       //"lo world"
alert(stringValue.slice(3,7));      //"lo w"
alert(stringValue.substring(3,7));  //"lo w"
alert(stringValue.substr(3,7));     //"lo worl"

如果參數(shù)為負(fù)值,就不太一樣了,silce() 方法會(huì)將傳入的負(fù)值與字符串的長(zhǎng)度相加,substring() 方法把所有負(fù)值參數(shù)轉(zhuǎn)換為0,substr() 方法將第一個(gè)負(fù)值參數(shù)加上字符串的長(zhǎng)度,第二個(gè)負(fù)值參數(shù)轉(zhuǎn)換為0。

var stringValue = "hello world";
alert(stringValue.slice(-3));        //"rld"
alert(stringValue.substring(-3));    //"hello world"
alert(stringValue.substr(-3));       //"rld"
alert(stringValue.slice(3,-4));      //"lo w"
alert(stringValue.substring(3,-4));  //"hel"
alert(stringValue.substr(3,-4));     //""

注意:substring() 方法會(huì)把第二個(gè)參數(shù)轉(zhuǎn)換為0,使調(diào)用變成了 substring(3,0),而由于這個(gè)方法會(huì)將較小的數(shù)作為開始位置,將較大的數(shù)作為結(jié)束位置,因此最終相當(dāng)于調(diào)用了 substring(0,3)。

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

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

  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,667評(píng)論 0 4
  • Javascript有很多字符串的方法,有的人有W3C的API,還可以去MDN上去找,但是我覺得API上說的不全,...
    頑皮的雪狐七七閱讀 2,352評(píng)論 0 2
  • str.length 返回一個(gè)字符串的長(zhǎng)度 返回一個(gè)字符串的長(zhǎng)度 str.charAt(index) 返回字符串中...
    angelwgh閱讀 611評(píng)論 0 0
  • 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的 JavaScript 類型 使用基本類型和基本包裝類型 引用類型的...
    悶油瓶小張閱讀 773評(píng)論 0 0
  • 我的第一部戲 定稿之后 第一個(gè)電話打給了你 手機(jī)傳出 對(duì)不起,您撥打的用戶正忙 我握著手機(jī)說 我的戲 想請(qǐng)你做它的...
    易程山水閱讀 213評(píng)論 0 2

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