释放双眼,带上耳机,听听看~!
字符串函数startsWith() 和 endsWith()允许你检查一个给定的字符串的开始或者结束是什么字符或者子字符串。他们是子字符串的基本特殊例子。
目录
简介
- 字符串函数startsWith() 和 endsWith()允许你检查一个给定的字符串的开始或者结束是什么字符或者子字符串。他们是子字符串的基本特殊例子。
硬件要求
- Arduino or Genuino 开发板
电路
- 这个例子不需要连接额外的电路,除了你的开发板需要连接到你的电脑,并且打开Arduino IDE的串口监视器窗口。
样例代码
- startsWith() 和 endsWith() 可以用来寻找一个特殊的信息开头,或者字符串结尾的一个字符。他们也可以用来带着抵消来寻找特定的位置。如:
stringOne = "HTTP/1.1 200 OK";
if (stringOne.startsWith("200 OK", 9)) {
Serial.println("Got an OK from the server");
}
- 这个的功能和下面的类似:
stringOne = "HTTP/1.1 200 OK";
if (stringOne.substring(9) == "200 OK") {
Serial.println("Got an OK from the server");
}
- 注意:如果你寻找字符串范围外的位置,你将会获得不可预测的结果。如在上面例子的stringOne.startsWith(“200 OK”, 16)不能核对字符串本身,但是无论内存里有什么都超过它了。为了最好的结果,确保你用来索引的值(startsWith 和 endsWith)要在0到字符串的length()之间。
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// send an intro:
Serial.println("\n\nString startsWith() and endsWith():");
Serial.println();
}
void loop() {
// startsWith() checks to see if a String starts with a particular substring:
String stringOne = "HTTP/1.1 200 OK";
Serial.println(stringOne);
if (stringOne.startsWith("HTTP/1.1")) {
Serial.println("Server's using http version 1.1");
}
// you can also look for startsWith() at an offset position in the string:
stringOne = "HTTP/1.1 200 OK";
if (stringOne.startsWith("200 OK", 9)) {
Serial.println("Got an OK from the server");
}
// endsWith() checks to see if a String ends with a particular character:
String sensorReading = "sensor = ";
sensorReading += analogRead(A0);
Serial.print(sensorReading);
if (sensorReading.endsWith("0")) {
Serial.println(". This reading is divisible by ten");
} else {
Serial.println(". This reading is not divisible by ten");
}
// do nothing while true:
while (true);
}