在 Arduino 中比較字串

Ammar Ali 2023年10月12日
  1. 使用 Arduino 中的 compareTo() 函式比較字串
  2. 使用 Arduino 中的 equals() 函式比較字串
  3. 在 Arduino 中使用比較運算子比較字串
在 Arduino 中比較字串

本教程將討論使用 Arduino 中的 compareTo() 函式比較兩個字串。

使用 Arduino 中的 compareTo() 函式比較字串

要在 Arduino 中比較兩個字串,我們可以使用字串物件的 compareTo() 函式。compareTo() 函式一個接一個地比較兩個字串中存在的字元,以確定兩個字串是否相同。

compareTo() 函式從兩個字串的第一個字元開始,並使用它們的 ASCII 值比較它們,如果字串匹配,它將移動到下一個字元。每個鍵盤字元都有一個唯一的 ASCII 值。

大小寫字母的 ASCII 值不同; a 的 ASCII 值是 97,A 是 65。如果我們要比較忽略大小寫的兩個字串,我們必須確保兩個字串都是大寫或小寫。

要將字串轉換為大寫,我們可以使用 Arduino 中字串物件的 toUpperCase() 函式。要將字串轉換為小寫,我們可以使用 Arduino 中字串物件的 toLowerCase() 函式。

如果兩個字串相等,compareTo() 函式返回 0。如果第一個字串的 ASCII 值小於第二個字串的 ASCII 值,則 compareTo() 函式返回一個負數。

如果第一個字串的 ASCII 值大於第二個字串的 ASCII 值,則 compareTo() 函式返回一個正數。例如,讓我們定義兩個字串變數並使用 Arduino 中的 compareTo() 函式進行比較。

String string_1 = "Hello";
String string_2 = "World";
int result = 0;

void setup() { result = string_1.compareTo(string_2); }
void loop() {}

比較結果將儲存在 result 變數中。我們也可以使用 equals() 函式代替 compareTo() 函式。

使用 Arduino 中的 equals() 函式比較字串

equals() 函式返回一個布林值,如果兩個字串相等則返回 true,否則返回 false。equals() 函式也區分大小寫,這意味著 abc 將不等於 ABC

檢視此連結以獲取有關 equals() 函式的更多詳細資訊。如果我們想比較兩個忽略大小寫敏感性的字串,我們可以使用字串物件的 equalsIgnoreCase() 函式。

equalsIgnoreCase() 還返回一個布林值,它不區分大小寫,這意味著 abcABC 將相等並且函式將返回 true。檢查此連結以獲取有關 equalsIgnoreCase() 函式的更多詳細資訊。

在 Arduino 中使用比較運算子比較字串

我們還可以使用小於等於 <=、大於等於 >=、等於 == 等比較運算子來比較字串。

在這種情況下,字串將根據其中存在的字元的 ASCII 值進行比較,這意味著這種比較也將區分大小寫。

例如,下面的語句將返回 false。

"hello" == "Hello"
作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - Arduino String