有人可以解释这段代码有什么问题。为什么if语句总是假的,当它匹配完全的字符串时..我已经尝试了==以及..但是,每次我找到No Match Found !!。
String inData = "";
char inChar;
String property;
String a = "test";
void loop() {
Serial.println("String Comparison");
if(Serial.available() > 0){
while(Serial.available()>0) {
inChar = Serial.read();
inData.concat(inChar);
}
//Extracting Property
property = inData.substring(inData.lastIndexOf(":")+2); // Extracts the String "test"
Serial.println("Property:" +property);
if(property.equals(a)){ // It never matches though, it is TRUE all the time
Serial.println(" Matched !! ");
}
else
Serial.println(" Match Not Found !! ");
inData = "";
}
delay(5000);
}
答案 0 :(得分:1)
由于我能够看到匹配匹配和未命中错过,我认为我需要更多信息来复制错误。
由于我没有看到它发生,我猜它与输入的内容以及该行如何解析它有关。
property = inData.substring(inData.lastIndexOf(":")+2); // Extracts the String "test"
property.length()
以测试隐藏的空白字符