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


Arduino 中的 **indexOf()** 函式從開頭掃描字串,並返回字串中指定子字串的第一個索引。語法如下:

語法

myString.indexOf(substr)

其中 **substr** 是要搜尋的子字串。它可以是 **字元** 或 **字串** **型別**。

可以選擇從不同的起始點開始搜尋,在這種情況下,語法如下:

語法

myString.indexOf(substr, from)

其中 from 是搜尋應開始的索引。此函式返回字串中子字串第一次出現的索引,如果未找到匹配項,則返回 -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.indexOf(substr1));
   Serial.println(s1.indexOf(substr2));
   Serial.println(s1.indexOf(substr1, 3));
}
void loop() {
   // put your main code here, to run repeatedly:
}

輸出

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

如您所見,在第一種情況下,列印了索引 1(計數從 0 開始)。在第二種情況下,由於未找到匹配項,因此列印了 -1。在第三種情況下,我們告訴 Arduino 從索引 3 開始搜尋。因此,下一個匹配項在索引 4 處找到,並打印出來。

更新於:2021年5月29日

653 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告