Le parseur que j'utilise à chaque fois que je fait de la liaison série avec Arduino.
Pour l'utiliser, il faut mettre la chaîne à traiter dans message et le séparateur dans separator. Le résultat est écrit dans le tableau de string data.
void splitString(String message, char separator,String* data) { int index = 0; for(int i=0; i<10;i++) { data[i]=""; } cnt = 0; do { index = message.indexOf(separator); if(index != -1) { // s'il y a bien un caractère séparateu // on découpe la chaine et on stocke le bout dans le tableau data[cnt] = message.substring(0,index); cnt++; // on enlève du message le bout stocké message = message.substring(index+1, message.length()); } else { // après le dernier espace // on s'assure que la chaine n'est pas vide if(message.length() > 0) { data[cnt] = message.substring(0,index); // dernier bout cnt++; } } } while(index >=0); // tant qu'il y a bien un séparateur dans la chaine }
Crédit : Pas moi mais je ne sais plus qui (probablement quelqu'un de bien)!