好的,所以我知道如何做一個標準循環遍歷字符串來查找匹配單個字符或單詞的字符或單詞,但在這種情況下,我有我正在尋找多個字符集。一些是字母,一些是字符(包括保護字符)。我不能將它分成空間或任何類似的字詞數組,因爲字符集可能沒有空格,所以不會分割。我懷疑我將不得不做一個正則表達式,但我不知道如何設置它。這基本上是我試圖做的僞代碼,我會很感激關於如何前進的任何提示。我很抱歉,如果這是一件容易的事情,我錯過了它,我仍在工作我的JavaScript。Javascript迭代尋找多個字符集的字符串
僞代碼:
var string = "This *^! is abdf random&!# text to x*?ysearch for character sets";
var tempSet = [];
// start a typical for loop
for(string.length bla bla...){
// look for one of those four character sets and if it hits one
if(foundSet == "abdf" | "x*?y" | "*^!" | "&!#")
// push that character set to the tempSet array
tempSet.push(foundSet);
// continue searching for the next set until the string is done
console.log(tempSet);
//expected result = ["*^!", "abdf", "&!#", "x*?y"]
,所有的集合是在其出現的字符串
的順序排列在那裏,顯然更多,但是這部分我可以處理。這是這條線
if(??? == "abdf" | "x*?y" | "*^!" | "&!#")
我不知道如何處理。我懷疑它應該是某種類型的正則表達式,但是你可以像這樣使用一個正則表達式在做if語句時?我用一個|來完成它們當做一個地圖/替換,但我從來沒有在循環中使用正則表達式。我也不知道如何讓它一次搜索多個角色。一些字符集是3,一些是4個字符長。
我將不勝感激任何幫助,或者如果您有關於如何以更簡單的方式來解決這個問題的建議,那將是非常棒的。
謝謝!
謝謝,這是一個很大的幫助。我必須把它放在一個循環中,因爲其他的東西需要根據發現的來完成,但是這個正則表達式給了我一個工作的起點。謝謝! – MandyM
如果您需要循環,請查看'RegExp.exec()'方法來重複執行正則表達式並獲取下一個匹配項。 – Barmar
太好了,謝謝。我會檢查出來的! – MandyM