Arduino内置教程-字符串-String Characters
String Character函数
字符串函数 charAt() 和 setCharAt() 用来获得或者设置字符串里给定位置的字符数值。
这些函数能帮助你搜索和替换给定的字符。例如,下面把字符串的冒号换成一个等号:
String reportString = "SensorReading: 456";
int colonPosition = reportString.indexOf(':');
reportString.setCharAt(colonPosition, '=');
- 这个例子用来检查第二个单词的第一个字母是不是"B":
String reportString = "Franklin, Benjamin";
int spacePosition = reportString.indexOf(' ');
if (reportString.charAt(spacePosition + 1) == 'B') {
Serial.println("You might have found the Benjamins.")
}
- 注意:如果你尝试获得字符值 charAt 或者设置字符值 setCharAt(),而这个数值的长度长过字符串的长度,你会得到不可预料的结果。如果你不确定,用length()函数查一下你想设置或者获得的位置是不是少于字符串的长度。
硬件要求
- Arduino or Genuino 开发板
电路
- 这个例子不需要连接额外的电路,除了你的开发板需要连接到你的电脑,并且打开Arduino IDE的串口监视器窗口。
图由 Fritzing 软件绘制
样例代码
/*
String charAt() and setCharAt()
Examples of how to get and set characters of a String
created 27 July 2010
modified 2 Apr 2012
by Tom Igoe
http://www.arduino.cc/en/Tutorial/StringCharacters
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
}
Serial.println("\n\nString charAt() and setCharAt():");
}
void loop() {
// make a string to report a sensor reading:
String reportString = "SensorReading: 456";
Serial.println(reportString);
// the reading's most significant digit is at position 15 in the reportString:
char mostSignificantDigit = reportString.charAt(15);
String message = "Most significant digit of the sensor reading is: ";
Serial.println(message + mostSignificantDigit);
// add blank space:
Serial.println();
// you can alo set the character of a string. Change the : to a = character
reportString.setCharAt(13, '=');
Serial.println(reportString);
// 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 - 允许你把字符串转换成整数数字