首頁 >web前端 >js教程 >js怎麼知道給定子字串是不是存在

js怎麼知道給定子字串是不是存在

青灯夜游
青灯夜游原創
2021-08-13 18:25:371840瀏覽

在先前的文章《使用js要如何計算元素的位置》中,我們介紹了獲取相對於瀏覽器視窗的絕對位置、相對於父節點或body 元素的偏移位置的方法。這次我們繼續javascript的學習,介紹一下判斷字串中是否存在指定子字串的方法。

在javascript中有多種方法可以判斷指定子字串是否存在,例如透過取得子字串在字串的第一次或最後一次出現位置,然後判斷該出現位置是否真是存在,即是否有正整數值;如果有則該指定子字串是存在的。

如何才能取得子字串在字串的第一次或最後一次出現位置?我們來看看下面一個例子:

var str = "How do you do!";
//获取子串“do”在str字符串中第一次出现的位置
var index=str.indexOf("do");
console.log("'do'在str字符串中第一次出现的位置是:"+index);

輸出結果:

js怎麼知道給定子字串是不是存在

#因為字串位置起始於0,而不是1;所以我們使用str.indexOf("do")所得到的第一次出現位置為4。

在看看下面一個範例:

var str = "How do you do!";
//获取子串“do”在str字符串中最后一次出现的位置
var lastindex=str.lastIndexOf("do");
console.log("'do'在str字符串中最后一次出现的位置是:"+lastindex);

輸出結果:

js怎麼知道給定子字串是不是存在

#可以看出,使用str.lastIndexOf( "do")所得的最後一次出現位置為11。

因為子字串「do」是存在的(且存在多個),所以無論是第一次出現位置,或是最後一次出現位置都有正值。

我們看看不存在的情況:

var str = "How do you do!";
//获取子串“do”在str字符串中最后一次出现的位置
var index=str.indexOf("de");
var lastindex=str.lastIndexOf("de");
console.log("'de'在str字符串中第一次出现的位置是:"+index);
console.log("'de'在str字符串中最后一次出现的位置是:"+lastindex);

輸出結果:

js怎麼知道給定子字串是不是存在

#可以看出,如果子字串不存在,那麼無論是第一次出現位置,或是最後一次出現位置都會回傳-1

根據這個,我們來實作給定一個子字串,判斷該子字串是否存在的函數:

function a(str1,str2){
	var index=str1.indexOf(str2);
	var lastindex=str1.lastIndexOf(str2);
	if(index!=-1){
		console.log("第一次出现的位置是:"+index+" ,因此 子串 “"+str2+"” 是存在的");
	}else{
		console.log("第一次出现的位置是:"+index+" ,因此 子串 “"+str2+"” 是不存在的");
	}
	
	if(lastindex!=-1){
		console.log("最后一次出现的位置是:"+lastindex+" ,因此 子串 “"+str2+"” 是存在的");
	}else{
		console.log("最后一次出现的位置是:"+lastindex+" ,因此 子串 “"+str2+"” 是不存在的");
	}
}

設定需要檢索的字串和子字串,呼叫a(str1,str2 )函數來判斷:

var str = "How do you do!";
a(str,"do");
a(str,"de");

輸出結果:

js怎麼知道給定子字串是不是存在

好了,就說到這裡了,有需要的可以看:javascript進階教學

#

以上是js怎麼知道給定子字串是不是存在的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn