JS indexOf() lastIndexOf()與substring()截取字符串的區別


1. String.IndexOf 方法 (value[,startIndex])

value:要查找的 Unicode 字符。 必選項
startIndex:搜索起始位置。   可選項 不寫從開頭查找 

該方法返回一個整數值,

指出 String 對象內子字符串的開始位置(如果沒有設置第二個索引參數,從下標0開始計算)。如果沒有找到子字符串,則返回 -1。

2.String.LastIndexOf(char,int)

char :要查找的字符串

int:在指定范圍內查找

該方法返回一個整數值,

指出 String 對象內子字符串最后一次出現的索引位置(從下標0開始計算)。如果沒有找到子字符串,則返回 -1。

如果設置第二個參數,則表示在指定范圍內最后一次出現的索引位置

例如:

string="hello nihao a!"

string.LastIndexOf('nihao'); 返回 6

string.LastIndexOf('nihao',5); 返回 -1 

string.LastIndexOf('nihao',8); 返回 6

在指定的范圍內查找字符,這個范圍是上面的輸入的參數,理解為,從索引0開始指定的數值位置范圍內查找最后一個匹配的的字符串的位置。

實例:location.href.lastIndexOf("?") == -1 在當期url中查找?最后一次出現的位置�在在

3.String.substring(indexstar[,indexend])

可以只寫一個參數:表示從索引值開始(起始位置為0)截取后面的字符串

寫兩個參數:表示截取指定索引開始到指定索引結束之間(不包括結束索引)的字符串

string="Liming is a good boy"

string.substring(3);   返回:ing is a good boy

string.substring(3,6); 返回:ing  即下標3開始到下標5結束的字符串

 綜合實例:截取當前url中最后文件名包括后綴

url = location.href.lastIndexOf("?") == -1 ? location.href.substring((location.href.lastIndexOf("/")) + 1) :

location.href.substring((location.href.lastIndexOf("/")) + 1, location.href.lastIndexOf("?"));

如果不傳參:找到最后一個反斜杠,截取后面的字符串

如果傳參:截取最后一個反斜杠到?的字符串


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM