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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript字串物件 之 根據字元返回位置、根據位置返回字元、字串操作方法JavaScript字串物件字元
- 利用Python實現分析給定文字字串中的字元統計資訊Python字串字元
- Dictionary計算字元出現的次數字元
- JS字串學習之怎麼返回給定下標間的子串JS字串
- js練習(一)找出元素item在給定陣列arr中的位置JS陣列
- 利用HashMap統計字串各個字元出現的次數HashMap字串字元
- js中字串全部替換JS字串
- python 統計字串裡某個字元出現的次數count()Python字串字元
- Java小程式--統計指定字串中字元 ‘a’ 出現的次數Java字串字元
- JavaScript獲取字串指定索引位置字元JavaScript字串索引字元
- PHP字串學習之如何返回漢字或混合字元的長度PHP字串字元
- 求出現在字串1而沒有出現在字串2中的字元字串字元
- JS陣列學習之清空全部元素的4種方法(程式碼詳解)JS陣列
- JavaScript獲取給定字元的unicodeJavaScript字元Unicode
- JS學習之Bom(window和定時器)JS定時器
- 獲得String字串中某個字元出現的次數字串字元
- 計算返回單、雙位元組字元混合字串長度字元字串
- ncurses輸出函式:字元+字串的輸出函式字元字串
- JZ-034-第一個只出現一次的字元位置字元
- 字串-字元統計2字串字元
- 字串-字元統計1字串字元
- JavaScript統計字元出現的次數JavaScript字元
- 【JavaScript】牛客程式設計練習:找出元素 item 在給定陣列 arr 中的位置JavaScript程式設計陣列
- 給前端返回資料全部轉字串合適嗎?前端字串
- 判斷字串中出現最多的字元,並統計次數字串字元
- JS陣列學習之判斷陣列元素是不是都滿足給定條件JS陣列
- java 之 給定固定長度根據字元長分割文件Java字元
- 輸出儲存在記憶體中的字串(迴圈輸出每一個的字元和一次性全部輸出)記憶體字串字元
- 統計字串字元個數字串字元
- rust學習九.2、集合之字元Rust字元
- 簡單計算給定兩個給定經緯度座標的距離
- 重學了計算機網路,略有小成,經驗全部分享出來計算機網路
- 前端面試題8----統計字串中出現最多的字元前端面試題字串字元
- JS-計算日期差值;計算日期之間的月數JS
- 統計字串出現的次數(C)字串
- PHP 學習總結之字串PHP字串
- Leetcode 3.無重複字元的最長子串 字典記錄每個字元最後出現的位置LeetCode字元
- JS能力測評經典題--計算給定陣列 arr 中所有元素的總和JS陣列