在 Arduino 中比较字符串

Ammar Ali 2023年1月30日 2022年4月20日
  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"
Author: 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