在Arduino中查詢子字串是否存在


為了檢查Arduino中字串中是否存在特定子字串,可以使用**indexOf()**函式。這將返回在另一個字串中搜索到的字元或字串的第一次出現的索引。如果字元或字串在給定字串中不存在,則函式返回-1。

下面的程式碼給出了示例實現:

示例

void setup() {
   Serial.begin(9600);
   Serial.println();
   String s1 = "Hello World";
   Serial.println(s1.indexOf('e'));
   Serial.println(s1.indexOf("Wor"));
   Serial.println(s1.indexOf('z'));
   Serial.println(s1.indexOf("Wer"));
}
void loop() {
   // put your main code here, to run repeatedly:
   
}

序列埠監視器的輸出如下:

輸出

正如你所看到的,對於前兩種情況,索引被正確返回(計數從0開始,因此'H'的索引為0,'e'的索引為1,依此類推)。"Wor"從索引6開始。對於後兩種情況,在s1中找不到搜尋到的字元/字串,因此返回-1。

如果你希望從偏移量開始搜尋,你可以向函式提供第二個引數,指定搜尋應該從哪個索引開始。

參見下面的程式碼:

示例

void setup() {
   Serial.begin(9600);
   Serial.println();
   String s1 = "Hello World";
   Serial.println(s1.indexOf('o'));
   Serial.println(s1.indexOf('o',5));
}
void loop() {
   // put your main code here, to run repeatedly:
   
}

序列埠監視器的輸出是:

輸出

正如你所看到的,第一步,返回了"Hello"中'o'的位置(索引4)。之後,當我們指定搜尋應該從索引5開始時,返回了"World"中'o'的位置("Hello World"的索引7)。

更新於:2021年3月23日

16K+ 瀏覽量

啟動你的職業生涯

透過完成課程獲得認證

開始
廣告