欧美亚洲大片-国产免费成人在线视频-国产成人8x人在线视频软件-日韩亚洲欧美中文字幕-97伦伦午夜电影理伦片-亚洲综合精品视频-曰本女人牲交高潮视频-久久久精品欧美-天天干天天操天天碰-精品国产乱码久久久久久1区2区-黄色一级免费片-在线免费欧美-国产成人精品在线视频-精人妻一区二区三区-香蕉视频2020-综合久久99-欧美日韩亚洲国产综合

十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
小程序
tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

字符串位置查詢常用函數(shù)indexOf()和lastIndexOf()使用方法

百恒網(wǎng)絡(luò) 2012-09-18 7579

有兩個(gè)可以從字符串中查找子字符串的方法:indexOf()和lastIndexOf()。這兩個(gè)方法都是從一個(gè)字符串中搜索給定的子字符串,然后返子字符的位置(如果沒有找到該子字符串,則返回-1)。這兩個(gè)方法的區(qū)別在于:indexOf()方法從字符串的開頭向后搜索子字符串,而lastlndexOf()方法是從字符串的末尾向前搜索子字符串。還是來看一個(gè)例子吧:

var stringValue="hello world";

alert(stringValue.indexOf("o"));

alert(stringValue.lastIndexOf("o"));

子字符串”o”第一次出現(xiàn)的位置是4,即”hello”中的”o“;最后一次出現(xiàn)的位置是7,即”world”中的"o"。如果”o”在這個(gè)字符串中僅出現(xiàn)了一次,那么indexOf()和lastlndexOf()會(huì)返回相同的位置值。

南昌網(wǎng)站建公司技術(shù)員提醒大家indexOf是從0開始計(jì)算位置,而lastIndexOf是從1開始,包括空格.

這兩個(gè)方法都可以接收可選的第二個(gè)參數(shù),表示從字符串中的哪個(gè)位置開始搜索。換句話說,indexOf()會(huì)從該參數(shù)指定的位置向后搜索,忽略該位置之前的所有字符;而lastlndexOf()則會(huì)從指定的位置向前搜索,忽略該位置之后的所有字符??聪旅娴睦樱?

var stringValue="hello world";

alert(stringValue.indexOf("o",6));

alert(stringValue.lastIndexOf("o",6));

在第二個(gè)參數(shù)6傳遞給這兩個(gè)方法之后,得到了與前面例子相反的結(jié)果。這一次,由于indexOf()是從位置6(字母"w")開始向后搜索,結(jié)果在位置7找到了no”,因此它返回7。而lastlndexOf()是從位置6開始向前搜索。結(jié)果找到了”hello”中的”o”,因此它返回4。在使用第二個(gè)參數(shù)的情況下,

可以通過循環(huán)調(diào)用indexOf()或lastlndexOf()來找到所有匹配的子字符串,如下面的例子所示:

var stringValue = "BaiHeng Network engineers learning Javascript is a very happy thing";

var positions=new Array();

var pos=stringValue.indexOf("e");

while(pos>-1){

positions.push(pos);

pos=stringValue.indexOf("e",pos+1);

}

alert(positions); //"4,9,16,21,22,27,52"

這個(gè)例子通過不斷增加indexOf()方法開始查找的位置,遍歷了一個(gè)長(zhǎng)字符串。在循環(huán)之外,首先找到了"e"在字符串中的初始位置;而進(jìn)入循環(huán)后,則每次都給indexOf()傳遞上一次的位置加l。這樣,就確保了每次新搜索都從上一次找到的子字符串的后面開始。每次搜索返回的位置依次被保存在數(shù)組positions中,以便將來使用。


400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×
门头沟区| 贺州市| 龙江县| 得荣县| 济南市| 蓬安县| 康保县| 余庆县| 吉安县| 桦川县| 塘沽区| 广安市| 静乐县| 江北区| 汝州市| 句容市| 迭部县| 滕州市| 安龙县| 扎兰屯市| 兴业县| 高雄市| 通榆县| 信阳市| 海晏县| 乐亭县| 徐州市| 宜昌市| 新丰县| 佛坪县| 科尔| 尚义县| 巢湖市| 常宁市| 洛南县| 柯坪县| 台北县| 新营市| 辛集市| 凌海市| 达拉特旗|