位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 字符串查找

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-24

■知識點(diǎn)

    使用字符串的charAtO和charCodeAtO方法,可以根據(jù)參數(shù)(非負(fù)整數(shù)的下標(biāo)值)返回指定位置的字符或字符編碼。使用字符串的indexOf()和lastlndexOfO方法,可以根據(jù)參數(shù)字符串,返回指定子字符串的下標(biāo)位置。

    search()方法與indexOf()功能相同,查找指定字符串第一次出現(xiàn)的位置。但是search()方法僅有一個(gè)參數(shù),定義匹配模式。該方法沒有l(wèi)astlndex0f()方法的反向檢索功能,也不支持全局模式。

    match()方法能夠找出所有匹配的子字符串,并以數(shù)組的形式返回。

■實(shí)例設(shè)計(jì)

【示例1】下面的示例為String類型擴(kuò)展一個(gè)原型方法,用來把字符串轉(zhuǎn)換為數(shù)組。在函數(shù)中使用charAt()方法讀取字符串中每個(gè)字符,然后裝入一個(gè)數(shù)組并返回。

String.prototype.toArray = function() {    //把字符串轉(zhuǎn)換為數(shù)組

    var 1 = this.length, a =[];                  //獲取當(dāng)前字符串長度,并定義空數(shù)組

    if (1){                                              //如果存在則執(zhí)行循環(huán)操作,預(yù)防空字符串 

        for( var i = 0; i < 1; i ++ ){       //遍歷字符串,枚舉每個(gè)字符

             a.push( this.charAt( i ) );   //把每個(gè)字符按順序裝入數(shù)組

        }

    }

    return a;                                    //返回?cái)?shù)組

}

應(yīng)用原型方法:

var s = "abcdefghijklmn" . toArray () ;    //把字符串轉(zhuǎn)換為數(shù)組

for (var i in s) {                                   //遍歷返回?cái)?shù)組,顯示每個(gè)字符

    console.log(s [i]);

}

【示例2】下面的代碼分別查詢URL字符串中兩個(gè)點(diǎn)號字符的下標(biāo)位置。 

var s = "http://www.mysite.cn/”;

var b = s.indexOf ( " . " );                //返回值為10,即第1個(gè)字符"."的下標(biāo)位置

var e = s.indexOf ( " . ", b + 1 ) ; //返回值為17,即第2個(gè)字符"."的下標(biāo)位置

下面的代碼按從右到左的順序查詢URL字符串中最后一個(gè)點(diǎn)號字符的下標(biāo)位置。 

var s = "http://www.mysite.cn/index.html";

var n = s.lastlndexOf ( "." ) ;         //返回值為26,即第3個(gè)字符"."的下標(biāo)位置

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部