字符串中的方法-截取字符串

以下方法都可以從原字符串中截取某段字符串,并返回一個字符串,且不改變原字符串

slice()方法

  • 作用

通過給定開始的位置和結(jié)束的位置來截取字符串

  • 語法

字符串.slice(beginIndex,endIndex)

  • 返回值

返回截取到的字符串
返回值數(shù)據(jù)類型為字符串string

  • 參數(shù)

beginIndex起始值:從該位置開始截取(包含該位置對應(yīng)的字符)
endIndex終止值:到該位置結(jié)束截取(不包含該位置對應(yīng)的字符)

注意:beginIndex需要大于endIndex,否則會返回空字符串''

  1. 正常用法
    兩個參數(shù),起始值對應(yīng)的字符包括在內(nèi),而終止值對應(yīng)的字符不包括在內(nèi)
var s = 'string';
s.slice(1,4)    //'tri'
s.slice(-5,-2)  //'tri'
  1. 不設(shè)置參數(shù)
    beginIndex默認(rèn)值為0,endIndex默認(rèn)值截取到字符串的最后,返回整個字符串
var s = 'string';
s.slice()       //'string'
s.slice(0)      //'string'
  1. 設(shè)置一個參數(shù)
    該參數(shù)會被視為起始值beginindex來處理,默認(rèn)截取到字符串的最后
var s = 'string';
s.slice(1)      //'tring'
s.slice(0)      //'string'
  1. 設(shè)置參數(shù)為負(fù)數(shù)
    從字符串尾部開始往前找,與正數(shù)剛好相反
var s = 'string';
s.slice(-5)     //'tring'
s.slice(-6)     //'string'
  1. 參數(shù)正負(fù)號相同時(shí),設(shè)置參數(shù)起始值大于終止值
    返回空字符串''
var s = 'string';
s.slice(4,1)    //''
s.slice(-2,-5)  //''
  • 規(guī)律

其實(shí)負(fù)數(shù)和正數(shù)混合起來不方便判斷,可以將負(fù)數(shù)加上字符串長度,轉(zhuǎn)化為正數(shù)即可

s.slice(1,4)    //'tri'
s.slice(-5,-2)  //'tri'
//它們的結(jié)果完全相同
//-5 + 6 = 1
//-2 + 6 = 4

substring()方法

與slice()方法大致相同,存在一點(diǎn)區(qū)別:

  1. 如果endIndex小于beginIndex,那么會自動調(diào)換它們的位置
var s = 'string';
s.substring(1,4)    //'tri'
s.substring(4,1)    //'tri'
  1. 如果參數(shù)為負(fù)數(shù),會自動將其轉(zhuǎn)化為0
var s = 'string';
s.substring(-3);      //'string'
s.substring(-1,-2)    //''
s.substring(4,-1)      //'stri'  相當(dāng)于s.substring(0,4)    首先將-1轉(zhuǎn)換為0,由于0小于4,又會調(diào)換一次位置

substr()方法

  • 作用

截取一段指定開始位置和個數(shù)的字符串

  • 語法

字符串.substr(start,length)

  • 返回值

返回截取到的字符串
返回值數(shù)據(jù)類型為字符串string

  • 參數(shù)

start 從該位置開始截取(包含該位置對應(yīng)的字符)
length 截取字符串的長度

  1. 不設(shè)置參數(shù)
    默認(rèn)返回整個字符串
var s = 'JavaScript';
s.substr()       //'JavaScript'
  1. 設(shè)置一個參數(shù)
    該參數(shù)會被視為起始值start來處理,默認(rèn)截取到字符串的最后
    若第一個參數(shù)為負(fù)數(shù),則代表從后向前查找
var s = 'JavaScript';
s.substr(0)      //'JavaScript'
s.substr(4)      //'Script'
s.substr(-6)     //'Script'
  1. 設(shè)置兩個參數(shù)
var s = 'JavaScript';
s.substr(0,4)    //'Java'
s.substr(4,6)    //'Script'
  1. 第二個參數(shù)為負(fù)數(shù)
    會自動將負(fù)數(shù)轉(zhuǎn)化為0,這就表示字符串的長度為0,會返回空字符串''
var s = 'JavaScript';
s.substr(1,-1);    //''
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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