indexOf與search的區別

2021-09-02 14:22:03 字數 1579 閱讀 2196

indexof() 方法可返回某個指定的字串值在字串中首次出現的位置,如果沒有找到返回-1。

語法:

該方法將從頭到尾地檢索字串stringobject,看它是否含有子串searchvalue。開始檢索的位置在字串的fromindex處。如果沒有fromindex引數則從字串的開頭檢索。如果找到乙個searchvalue,則返回searchvalue的第一次出現的位置。stringobjec中的字串位置是從0開始的。

注意事項

indexof()方法對大小寫敏感。如果要檢所的字串值沒有檢索到,則返回-1。

var str = "hello world";

console.log(str.indexof("hello")); //0

console.log(str.indexof("world")); //-1

console.log(str.indexof("world")); //6

search方法用於檢索字串中指定的子字串,活檢索與正規表示式相匹配的子字串。如果沒有找到,返回-1。

語法

說明search() 方法不執行全域性匹配,它將忽略標誌 g。它同時忽略 regexp 的 lastindex 屬性,並且總是從字串的開始進行檢索,這意味著它總是返回 stringobject 的第乙個匹配的位置。

注意事項

search() 方法對大小寫敏感!

var str="hello world";

console.log(str.search(/world/)); //6

console.log(str.search(/world/)); //-1

console.log(str.search(/world/i); //6

首先要明確search()的引數必須是正規表示式,而indexof()的引數只是普通字串。indexof()是比search()更加底層的方法。

如果只是對乙個具體字串來查詢,那麼使用indexof()的系統資源消耗更小,效率更高;如果是查詢具有某些特徵的字串(比如查詢以a開頭,後面是數字的字串),那麼indexof()就無能為力,必須要使用正規表示式和search()方法了。

很多時候用indexof()不是為了真的想知道子字串的位置,而是想知道長字串中沒有包含這個子字串。如果返回索引值是-1,那麼說明沒有:不等於-1,那麼就是有。

所以一般情況下indexof比search更省資源。

Kibana中doc與search策略的區別

在kibana中包含兩種策略 doc和search。使用了兩個迴圈佇列來獲取請求,並進行響應。doc的 如下 clientmethod mget search的 如下 clientmethod msearch 通過查詢api可以發現 mget命令,可以執行多個查詢。但是查詢條件基本是index,ty...

Kibana中doc與search策略的區別

在kibana中包含兩種策略 doc和search。使用了兩個迴圈佇列來獲取請求,並進行響應。doc的 如下 clientmethod mget search的 如下 clientmethod msearch 通過查詢api可以發現 mget命令,可以執行多個查詢。但是查詢條件基本是index,ty...

indexOf 和 lastIndexOf的區別

indexof 和 lastindexof 是什麼?indexof 和 lastindexof 都是索引檔案 indexof 是查某個指定的字串在字串首次出現的位置 索引值 也就是從前往後查 lastindexof 是從右向左查某個指定的字串在字串中最後一次出現的位置 也就是從後往前查 eg 注意 ...