JavaScript字符串的查找,indexOf,lastIndexOf,search的區別

1.stringObject.indexOf(searchvalue,fromindex)
註釋:indexOf() 方法對大小寫敏感!
註釋:如果要檢索的字符串值沒有出現,則該方法返回 -1。

    //找到subStr在mainStr中出現的次數;
var mainStr= "HowareyouAreyouOKareyouaryou";
var subStr= "are";
countInstances(mainStr,subStr)
document.write(countInstances(mainStr,subStr));

方法一:for循環

function countInstances(mainStr,subStr){
    var count = 0;
    for(var i=0;i<mainStr.length;i++){
        var index = mainStr.indexOf(subStr,i)
        if(index == i){
            count++;
        }
    }
    return count;
}

方法二:do while

function countInstances(mainStr,subStr){
    var count = 0;
    var index = 0;
    do{
        index = mainStr.indexOf(subStr,index);
        if(index != -1){
            count++;
            index += subStr.length;
        }
    }while(index != -1)
    return count;
}

方法三:遞歸

function countInstances(mainStr,subStr){
    var index = 0;
    var content = 0;
    count(offset);
    function count(index){
        index = mainStr.indexOf(subStr,index);
        if(index != -1){
            content++;
            index += subStr.length;
            count(index);
        }
    }
    return content
}

2.stringObject.lastIndexOf(searchvalue,fromindex)
fromindex爲可選的整數參數。規定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字符串的最後一個字符處開始檢索。

3.stringObject.search(regexp)
regexp 該參數可以是需要在 stringObject 中檢索的子串,也可以是需要檢索的 RegExp 對象。
註釋:如果沒有找到任何匹配的子串,則返回 -1。

document.write(s.search(/字符串/i));//不分大小寫
document.write(s.search(字符串));
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章