Я хотел бы извлечь произвольную часть всей строки и опубликовать ее через Serial.println () .
Источник problem Я сталкиваюсь с тем, что строковые значения (A, B, C) являются переменными и, таким образом, «неизвестны». Он путается с определенными терминаторами "-" и "END $". Я не могу найти подходящие точки привязки, чтобы выбрать ту часть строки, которую я хочу. Я могу, если эти строковые значения отсутствуют: "curD = 'Data: String1 A'" против "curD = 'String1'". Я хотел бы иметь только "String1 A", "String2 B" или "String3 C".
Примеры A, B, C являются либо int, float, либо строкой переменной / случайная длина.
Это то, что у меня пока есть:
char headComputerData[] = "String1 - "; // test; can be String1 -, String2 - etc, to get the next adjacent string sequence till " -"
//char headComputerData[] = "Computer Data: "; // the prefix of the data value
char dashTerminator[] = " -"; // one possible suffix of a value
char dollarTerminator[] = " END $ "; // the other possible suffix of a value
int firstIndexComputerData; // index into inputStringPC of the first char of the value
String inputStringPC = "Computer Data: String1 A - String2 B - String3 C END $ ";
firstIndexComputerData = inputStringPC.indexOf(headComputerData);
firstIndexComputerData += strlen(headComputerData); // firstIndex is now the index of the char just past the head.
String compData = inputStringPC.substring// string everything between
(
firstIndexComputerData, //first index
inputStringPC.indexOf(dashTerminator, firstIndexComputerData) //last index (relative)
);
Serial.println(compData);
Спасибо :))
nolimits