0°

Arduino内置教程-字符串-检测字符串开头和结尾字符

字符串函数startsWith() 和 endsWith()允许你检查一个给定的字符串的开始或者结束是什么字符或者子字符串。他们是子字符串的基本特殊例子。

简介

  • 字符串函数startsWith() 和 endsWith()允许你检查一个给定的字符串的开始或者结束是什么字符或者子字符串。他们是子字符串的基本特殊例子。

硬件要求

  • Arduino or Genuino 开发板

电路

  • 这个例子不需要连接额外的电路,除了你的开发板需要连接到你的电脑,并且打开Arduino IDE的串口监视器窗口。

Arduino内置教程-字符串-String Start With Ends With

样例代码

  • 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);
}
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论