在Arduino中獲取子字串的最後一次出現


就像indexOf()幫助識別字符串中子字串的第一次出現一樣,lastIndexOf()函式幫助識別最後一次出現。這是因為lastIndexOf()執行反向搜尋,而indexOf()執行正向搜尋。

語法

myString.lastIndexOf(substr)

其中substr是在myString中搜索的子字串。它可以是字元或字串。

就像indexOf()一樣,此函式也接受可選的from引數,如果您希望反向搜尋從特定索引開始。

語法

myString.lastIndexOf(substr, from)

與indexOf()一樣,此函式要麼返回字串中子字串的最後一個索引,要麼在找不到匹配項時返回-1。

示例

下面的示例程式碼說明了所有這些要點:

void setup() {
   // put your setup code here, to run once:
   Serial.begin(9600);
   Serial.println();
   String s1 = "Mississippi";
   String substr1 = "is";
   String substr2 = "os";
   Serial.println(s1.lastIndexOf(substr1));
   Serial.println(s1.lastIndexOf(substr2));
   Serial.println(s1.lastIndexOf(substr1, 3));
}
void loop() {
   // put your main code here, to run repeatedly:
}

輸出

序列埠監視器輸出如下所示:

如您所見,在第一種情況下,返回子字串的最後一個索引(索引從0開始)。在第二種情況下,由於未找到匹配項,因此返回-1。在第三種情況下,因為我們要求Arduino從索引3開始反向掃描,所以返回下一個匹配項的索引。

更新於:2021年5月29日

704 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.