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() 功能检查以确保你没有超出字符串长度。
OCROBOT控制器 |
USB线 |
这个例子没有电路图,只需要通过USB线把你的OCROBOT控制器连上电脑,并且打开串口监视器。
/* String charAt() and setCharAt() */ void setup() { // 串口 Serial.begin(9600); Serial.println("\n\nString charAt() and setCharAt():"); } void loop() { // 产生一个字符来显示传感器值 String reportString = "SensorReading: 456"; Serial.println(reportString); // 有意义的数字在第十五位 char mostSignificantDigit = reportString.charAt(15); String message = "Most significant digit of the sensor reading is: "; Serial.println(message + mostSignificantDigit); // 增加空格: Serial.println(); // 也可以改变字符,替换字符 reportString.setCharAt(13, '='); Serial.println(reportString); // 循环: while (true); }