Some code samples that have String operations you might use. You could capture the String, check to see if contains key words like "TITLE", find the location of the colon : in the String, then capture the remainder of the String starting two places beyond the location of the colon :.
//zoomkat 3-5-12 simple delimited ',' string
//from serial port input (via serial monitor)
//and print result out serial port
String readString, data;
int CD, CM, CT, CS, BR;
void setup() {
Serial.begin(9600);
Serial.println("serial delimit test 1.0"); // so I can keep track of what is loaded
}
void loop() {
//expect a string like CD01,CM01,CT01,CS03,BR255,
if (Serial.available()) {
char c = Serial.read(); //gets one byte from serial buffer
if (c == ',') {
Serial.println(readString); //prints string to serial port out
if(readString.indexOf("CD") >=0) {
data=readString.substring(2);
Serial.print("CD is: ");
Serial.println(data);
CD = data.toInt();
Serial.println(CD);
Serial.println();
}
if(readString.indexOf("CM") >=0) {
readString=readString.substring(2);
Serial.print("CM is: ");
Serial.println(readString);
CM = readString.toInt();
Serial.println(CM);
Serial.println();
}
if(readString.indexOf("CT") >=0) {
readString=readString.substring(2);
Serial.print("CT is: ");
Serial.println(readString);
CT = readString.toInt();
Serial.println(CT);
Serial.println();
}
if(readString.indexOf("CS") >=0) {
readString=readString.substring(2);
Serial.print("CS is: ");
Serial.println(readString);
CS = readString.toInt();
Serial.println(CS);
Serial.println();
}
if(readString.indexOf("BR") >=0) {
readString=readString.substring(2);
Serial.print("BR is: ");
Serial.println(readString);
BR = readString.toInt();
Serial.println(BR);
Serial.println();
}
//do some stuff
readString=""; //clears variable for new input
data="";
}
else {
readString += c; //makes the string readString
}
}
}
//zoomkat 3-5-12 simple delimited ',' string
//from serial port input (via serial monitor)
//and print result out serial port
String readString, substring;
//String servo1;
int loc;
void setup() {
Serial.begin(9600);
Serial.println("serial delimit test 1.0"); // so I can keep track of what is loaded
}
void loop() {
//expect a string like AA BB01/10/2014 CC12:23:25 DD32.2 EE5432 FF54.35,
if (Serial.available()) {
char c = Serial.read(); //gets one byte from serial buffer
//if (c == '\n') { //looks for end of data packet marker
if (c == ',') {
Serial.println(readString); //prints string to serial port out
//do stuff
loc = readString.indexOf("BB");
//Serial.println(loc);
substring = readString.substring(loc+2, loc+12);
Serial.print("date is: ");
Serial.println(substring);
loc = readString.indexOf("CC");
//Serial.println(loc);
substring = readString.substring(loc+2, loc+11);
Serial.print("time is: ");
Serial.println(substring);
loc = readString.indexOf("DD");
//Serial.println(loc);
substring = readString.substring(loc+2, loc+6);
Serial.print("DD is: ");
Serial.println(substring);
loc = readString.indexOf("EE");
//Serial.println(loc);
substring = readString.substring(loc+2, loc+6);
Serial.print("date is: ");
Serial.println(substring);
loc = readString.indexOf("FF");
//Serial.println(loc);
substring = readString.substring(loc+2);
Serial.print("FF is: ");
Serial.println(substring);
readString=""; //clears variable for new input
substring="";
}
else {
readString += c; //makes the string readString
}
}
}