JS字串學習之計算給定字元的全部出現位置
我們在之前的文章中瞭解到使用indexOf()和lastIndexOf()函式可以獲取子串在第一次出現位置和最後一次出現位置;如果沒有找到該子串,則返回-1。
而這兩個函式都可接收可選的第二個引數start
,值只能是一個整數,表示從字串中的哪個位置開始搜尋,取值範圍是 0
~ length-1
。lastIndexOf()如果指定了start引數,則在一個字串中的指定位置從後向前搜尋。
利用這個可選的第二個引數start和迴圈語句,我們就可以計算給定子串(包含一個或多個字元)的全部出現位置。
首先看看使用indexOf()是怎麼統計給定字元在字串的所有出現位置
var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit"; var positions = new Array(); var pos = stringValue.indexOf("e"); while(pos > -1){ positions.push(pos); //將出現位置賦給陣列 pos = stringValue.indexOf("e",pos + 1); //從給定字元出現位置的後一位開始查詢 } console.log(positions);//"3,24,32,35,52"
分析:先使用indexOf("e")
獲取第一次出現位置並賦值給變數pos;然後使用while語句透過迴圈呼叫indexOf(),不斷將查詢起始位置設定為“pos + 1
”,從給定字元出現位置pos的後一位開始查詢,獲取下一個出現位置;直到查詢不到,返回-1結束。因此輸出結果為:
可以看出,給定字元“e
”在字串stringValue中一個出現了5次,因為字串位置起始於 0,而不是 1,所以出現位置分別為3、24、32、35、52。
然後我們來看看使用lastIndexOf()是怎麼統計給定字元在字串的所有出現位置
var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit"; var positions = new Array(); var pos = stringValue.lastIndexOf("e"); while(pos > -1){ positions.push(pos); pos = stringValue.lastIndexOf("e",pos - 1); } console.log(positions);//"3,24,32,35,52"
分析:使用lastIndexOf()獲取所有出現位置其實和使用indexOf()差不多,只不過因為lastIndexOf()返回的是最後一次的出現位置,所以,每次迴圈,我們都要將查詢的起始位置設定為“pos - 1”。
看看輸出結果:
可以看出,獲取到的給定字元“e”在字串stringValue中所有出現位置是倒序的,順序分別為:52、35、32、24、3。
好了,就說到這裡了,有需要的可以看:
以上就是JS字串學習之計算給定字元的全部出現位置的詳細內容,更多請關注php中文網其它相關文章!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2480/viewspace-2827467/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何計算字串某個字元出現的次數字串字元
- js如何換掉字串中的全部指定字元JS字串字元
- js如何計算一個字元在字串中出現的次數JS字元字串
- js如何將字串中的字元位置倒轉JS字串字元
- JavaScript字串物件 之 根據字元返回位置、根據位置返回字元、字串操作方法JavaScript字串物件字元
- 求給定字串的平均字元長度字串字元
- Dictionary計算字元出現的次數字元
- JS字串學習之怎麼返回給定下標間的子串JS字串
- JavaScript統計字串中字元出現次數JavaScript字串字元
- 一個字串中某一個字元第n次出現的位置的函式字串字元函式
- 統計字串中某個字元出現的次數字串字元
- . 【JAVA】給定任意 字串"yekmaakkccekymbvb",求出字串中有多少種字元,以及每個字元的個數?Java字串字元
- js如何將字串中的字元逐字輸出JS字串字元
- js練習(一)找出元素item在給定陣列arr中的位置JS陣列
- 利用HashMap統計字串各個字元出現的次數HashMap字串字元
- js獲取字串中指定位置字元程式碼例項JS字串字元
- js獲取字串指定位置字元效果程式碼例項JS字串字元
- 如何確定一個字串中是否所有字元全部互不相同字串字元
- Java小程式--統計指定字串中字元 ‘a’ 出現的次數Java字串字元
- JavaScript獲取字串指定索引位置字元JavaScript字串索引字元
- js實現的替換字串中的全部指定內容JS字串
- 查詢字串中連續出現的字元字串字元
- js中字串全部替換JS字串
- PHP字串學習之如何返回漢字或混合字元的長度PHP字串字元
- 31:字串中最長的連續出現的字元字串字元
- 【演算法拾遺】阿里實習生電面題目:輸出給定字串的全部連續子串演算法阿里字串
- python 統計字串裡某個字元出現的次數count()Python字串字元
- 求出現在字串1而沒有出現在字串2中的字元字串字元
- 引文——平行計算的學習之殤
- 檢測給定字串是否是以指定的字元開頭或者結尾字串字元
- JavaScript 獲取字串中指定位置字元JavaScript字串字元
- javascript如何獲取字串中指定位置的字元JavaScript字串字元
- 1.7程式設計基礎之字串02:找第一個只出現一次的字元程式設計字串字元
- C++字串處理的一個例子:1.查詢一個字元在字串中第n次出現的位置。2分割字串C++字串字元
- 如何獲取字串中相同字元出現的次數字串字元
- Linux下計算字元在檔案裡出現的次數Linux字元
- JS陣列學習之清空全部元素的4種方法(程式碼詳解)JS陣列
- 集合框架-統計字串中每個字元出現的次數案例圖解框架字串字元圖解