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