這篇文章主要介紹了在JavaScript中訪問(wèn)字符串的子串,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
使用substring()或slice()方法(NN4+, IE4+),下面說(shuō)明它們的具體用法。
substring()的原型為:
- string.substring(from, to)
第一個(gè)參數(shù)from指定了子字符串在原字符串中的起始位置(基于0的索引);第二個(gè)參數(shù)to是可選的,它指定了子字符串在原字符串的結(jié)束位置(基于0的索引),一般情況下,它應(yīng)比f(wàn)rom大,如果它被省略,那么子字符串將一直到原字符串的結(jié)尾處。
如果參數(shù)from不小心比參數(shù)to大了會(huì)怎樣?JavaScript會(huì)自動(dòng)調(diào)解子字符串的起止位置,也就是說(shuō),substring()總是從兩個(gè)參數(shù)中較小的那個(gè)開(kāi)始,到較大的那個(gè)結(jié)束。不過(guò)要注意,它包含起始位置的那個(gè)字符,但不包含結(jié)束位置的那個(gè)字符。
- var fullString = "Every dog has his day.";
- var section = fullString.substring(0, 4); // section is "Ever".
- section = fullString.substring(4, 0); // section is also "Ever".
- section = fullString.substring(1, 1); // section is an empty string.
- section = fullString.substring(-2, 4); // section is "Ever", same as fullString.substring(0, 4); slice()的原型為: string.slice(start, end)
參數(shù)start表示子串的起始位置,如果為負(fù)數(shù),那么可以理解為倒數(shù)第幾個(gè)開(kāi)始,例如-3表示從倒數(shù)第三個(gè)開(kāi)始;參數(shù)end表示結(jié)束位置,與start一樣,它也可以為負(fù)數(shù),其含義也表示到倒數(shù)第幾個(gè)結(jié)束。slice()的參數(shù)可以為負(fù)數(shù),所以要比substring()更加靈活,但沒(méi)那么寬容了,如果start比end要大,它將返回一個(gè)空字符串(示例略)。
還有一個(gè)方法是substr(),其原型為:
- string.substr(start, length)
從原型可以看出它的參數(shù)的含義,start表示起始位置,length則表示子字符串的長(zhǎng)度。JavaScript標(biāo)準(zhǔn)不提倡使用該方法。
新聞熱點(diǎn)
疑難解答
圖片精選