Arduino内置教程-字符串-String Substring:

子字符串函数

  • 字符串函数substring()和charAt(), startsWith() ,endsWith()很相似。它允许你在一个给定的字符串里寻找一个特定子字符串的例子。

硬件要求

  • Arduino or Genuino开发板

电路

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

请输入图片描述
图由 Fritzing 软件绘制

样例代码

  • substring()带着一个参数,从给定字符串的位置到字符串的尾部,寻找一个特定的子字符串。它要求子字符串延长到字符串的尾部。如:
  String stringOne = "Content-Type: text/html";

  // substring(index) looks for the substring from the index position to the end:
  if (stringOne.substring(19) == "html") {
   }

为真,则

  String stringOne = "Content-Type: text/html";

  // substring(index) looks for the substring from the index position to the end:
  if (stringOne.substring(19) == "htm") {
   }

为假。因为字符串还有一个“l”在htm后面。

  • substring()带着两个参数,从第一个参数到第二个参数,寻找一个子字符串。如:
  String stringOne = "Content-Type: text/html";

  // you can also look for a substring in the middle of a string:
  if (stringOne.substring(14,18) == "text") {

  } 
  • 这是从字符串的位置14到18,寻找一个单词文本。

  • 注意:确保你的索引值在字符串的长度之内,否则你会得到不可预测的结果。如果起始位置超过字符串的长度,而终止位置没有,这种错误可能会特别困难找出substring() 的第二个例子。

/*
  String substring()

 Examples of how to use substring in a String

 created 27 July 2010,
 modified 2 Apr 2012
 by Zach Eveland

 http://www.arduino.cc/en/Tutorial/StringSubstring

 This example code is in the public domain.
 */

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  substring():");
  Serial.println();
}

void loop() {
  // Set up a String:
  String stringOne = "Content-Type: text/html";
  Serial.println(stringOne);

  // substring(index) looks for the substring from the index position to the end:
  if (stringOne.substring(19) == "html") {
    Serial.println("It's an html file");
  }
  // you can also look for a substring in the middle of a string:
  if (stringOne.substring(14, 18) == "text") {
    Serial.println("It's a text-based file");
  }

  // do nothing while true:
  while (true);
}

[Get Code]

更多

  • String object – 字符串对象的参考
  • CharacterAnalysis - 使用operators来识别对应的特征类型。
  • StringAdditionOperator - 用不同方法把字符串加到一起。
  • StringAppendOperator - 用+=运算符和concat()方法来添加东西到字符串里。
  • StringCaseChanges - 改变字符串的状态。
  • StringCharacters - 在字符串里获得或设置一个指定的字符的值
  • StringComparisonOperators - 按字母排列顺序地比较字符串
  • StringConstructors - 初始化字符串对象
  • StringIndexOf - 寻找在字符串里字符的第一个或最后一个的状态
  • StringLength - 获得和修剪字符串的长度
  • StringLengthTrim - 获得和修剪字符串的长度
  • StringReplace - 替换字符串里的个别字符
  • StringStartsWithEndsWith - 检查一个给定的字符或子串(substrings)的开始或结尾
  • StringSubstring - 在给定的字符串里寻找"phrases"
  • StringToInt - 允许你把字符串转换成整数数字

标签: arduino内置教程, arduino string substring