Arduino String数据类型比较操作
myString[n]
:允许您访问字符串的单个字符。
char thisChar = myString1[n]
参数
thisChar: Allowed data types: char.
myString1: Allowed data types: String.
n: a numeric variable.
返回值
The nth char of the String. Same as charAt().
myString3 = myString1 + myString2
:将两个String组合或连接成一个新的String。第二个String被附加到第一个String之后,结果被放在一个新的String中。工作原理与string.concat()相同。
myString3 = myString1 + myString2
参数
myString1: a String variable.
myString2: a String variable.
myString3: a String variable.
myString1 += data
:它将字符串与其他数据连接起来。
myString1 += data
参数
myString1: a String variable.
无返回值
myString1 == myString2
:比较两个字符串是否相等。比较是区分大小写的,这意味着字符串“hello”不等于字符串“hello”。功能上和string.equals()相同
myString1 == myString2
参数
myString1: a String variable.
myString2: a String variable.
返回值
true: if myString1 equals myString2.
false: otherwise.
myString1 > myString2
:测试左边的字符串是否大于右边的字符串。此操作符按字母顺序计算string的第一个不同字符。所以,例如“b”>“a”和“2”>“1”,但是“999”>“1000”,因为9在1后面。
注意:在比较数字字符串时,字符串比较操作符可能会出现异常,因为数字被视为字符串而不是数字。如果需要从数字上比较数字,请将它们作为整型、浮点型或长型进行比较,而不是字符串。
myString1 > myString2
参数
myString1: a String variable.
myString2: a String variable.
返回值
true: if myString1 is greater than myString2.
false: otherwise.
myString1 >= myString2
:测试左边的字符串是否大于或等于右边的字符串。该操作符按字母顺序计算两个字符串的第一个不同字符。例如,“b”>=“a”和“2”>=“1”,但是“999”>=“1000”,因为9在1后面。
注意:在比较数字字符串时,字符串比较操作符可能会出现异常,因为数字被视为字符串而不是数字。如果需要从数字上比较数字,请将它们作为整型、浮点型或长型进行比较,而不是字符串。
myString1 >= myString2
参数
myString1: variable of type String.
`myString2: variable of type String.
返回值
true: if myString1 is greater than or equal to myString2.
false: otherwise.
myString1 < myString2
:测试左边的字符串是否小于右边的字符串。该操作符按字母顺序计算两个字符串的第一个不同字符。所以,例如“a”<“b”和“1”<“2”,但是“999”>“1000”,因为9在1后面。
注意:在比较数字字符串时,字符串比较操作符可能会异常,因为数字被视为字符串而不是数字。如果需要从数字上比较数字,请将它们作为整型、浮点型或长型进行比较,而不是字符串。
myString1: variable of type String.
myString2: variable of type String.
返回值
true: if myString1 is less than myString2.
false: otherwise.
myString1 != myString2
比较两个字符串的差异。比较是区分大小写的,这意味着字符串“hello”不等于字符串“hello”。功能上和string.equals()相同.
myString1 != myString2
参数
myString1: a String variable.
`myString2: a String variable.
返回值
true: if myString1 is different from myString2.
false: otherwise.
📝测试代码
String str1 = "GP21: HIGH";
String str2 = "GP21: HIGH";
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
// Using strcmp()
if (strcmp(str1.c_str(), str2.c_str()) == 0) {
Serial.println("1.strcmp: Strings are equal");
} else {
Serial.println("1.strcmp: Strings are not equal");
}
// Using equals()
if (str1.equals(str2)) {
Serial.println("2.equals: Strings are equal");
} else {
Serial.println("2.equals: Strings are not equal");
}
// Using equals()
if (str1=="GP21: HIGH") {
Serial.println("3.equals: Strings are equal");
} else {
Serial.println("3.equals: Strings are not equal");
}
if (str1=="GP21: high") {
Serial.println("4.equals: Strings are equal");
} else {
Serial.println("4.equals: Strings are not equal");
}
}