String 對(duì)象的方法 slice()韵洋、substring() 和 substr() (不建議使用)都可返回字符串的指定部分摹菠。slice() 比 substring() 要靈活一些,因?yàn)樗试S使用負(fù)數(shù)作為參數(shù)固蛾。slice() 與 substr() 有所不同结执,因?yàn)樗脙蓚€(gè)字符的位置來指定子串,而 substr() 則用字符位置和長度來指定子串艾凯。
還要注意的是献幔,String.slice() 與 Array.slice() 相似。
JavaScript 的字符串是不可變的(immutable)趾诗,String 類定義的方法都不能改變字符串的內(nèi)容蜡感。像 String.toUpperCase() 這樣的方法,返回的是全新的字符串恃泪,而不是修改原始字符串郑兴。
JavaScript slice() 方法
- 定義和用法
slice() 方法可提取字符串的某個(gè)部分,并以新的字符串返回被提取的部分贝乎。 - 語法
stringObject.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ī)定的是從字符串的尾部開始算起的位置始腾。 |
- 返回值
一個(gè)新的字符串州刽。包括字符串 stringObject 從 start 開始(包括 start)到 end 結(jié)束(不包括 end)為止的所有字符。
JavaScript substring() 方法
- 定義和用法
substring() 方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符浪箭。 - 語法
stringObject.substring(start,stop)
參數(shù) | 描述 |
---|---|
start | 必需穗椅。一個(gè)非負(fù)的整數(shù),規(guī)定要提取的子串的第一個(gè)字符在 stringObject 中的位置奶栖。 |
stop | 可選匹表。一個(gè)非負(fù)的整數(shù)门坷,比要提取的子串的最后一個(gè)字符在 stringObject 中的位置多 1。如果省略該參數(shù)袍镀,那么返回的子串會(huì)一直到字符串的結(jié)尾默蚌。 |
- 返回值
一個(gè)新的字符串,該字符串值包含 stringObject 的一個(gè)子字符串苇羡,其內(nèi)容是從 start 處到 stop-1 處的所有字符绸吸,其長度為 stop 減 start。
JavaScript substr() 方法
- 定義和用法
substr() 方法可在字符串中抽取從 start 下標(biāo)開始的指定數(shù)目的字符设江。 - 語法
stringObject.substr(start,length)
參數(shù) | 描述 |
---|---|
start | 必需锦茁。要抽取的子串的起始下標(biāo)。必須是數(shù)值叉存。如果是負(fù)數(shù)码俩,那么該參數(shù)聲明從字符串的尾部開始算起的位置。也就是說歼捏,-1 指字符串中最后一個(gè)字符稿存,-2 指倒數(shù)第二個(gè)字符,以此類推甫菠。 |
length | 可選挠铲。子串中的字符數(shù)。必須是數(shù)值寂诱。如果省略了該參數(shù)拂苹,那么返回從 stringObject 的開始位置到結(jié)尾的字串。 |
- 返回值
一個(gè)新的字符串痰洒,包含從 stringObject 的 start(包括 start 所指的字符) 處開始的 length 個(gè)字符瓢棒。如果沒有指定 length,那么返回的字符串包含從 start 到 stringObject 的結(jié)尾的字符丘喻。 - 提示
注釋:substr() 的參數(shù)指定的是子串的開始位置和長度脯宿,因此它可以替代 substring() 和 slice() 來使用。
重要事項(xiàng):ECMAscript 沒有對(duì)該方法進(jìn)行標(biāo)準(zhǔn)化泉粉,因此反對(duì)使用它连霉。
重要事項(xiàng):在 IE 4 中,參數(shù) start 的值無效嗡靡。在這個(gè) BUG 中跺撼,start 規(guī)定的是第 0 個(gè)字符的位置。在之后的版本中讨彼,此 BUG 已被修正歉井。