[DUDA] ¿Como extraigo un trozo de texto de un texto comleto con arduino?

Mi duda es si se puede extraer de un texto unas cordenadas para ser concretos X,Y,Z:

G0 X123 Y456 Z-78

La cosa seria evitar "G0" y que en una variable llamada X me guardara 123, asi respectibamente.

X = 123;
Y = 456;
Z = -78;

Muchas gracias de antemano yo se que todos sois unos maquinas y entre todos podemos hacer lo que nos propongamos :)

Muchas gracias pero si ya me pudieras poner un ejemplo con los valores que mostre ya serias... Porcierto perdon si cometo faltas de ortografia pero es devido a mi corta edad. Algunos me tachan de normar y me ponen el loco...

Primero lee lo que te puse, lee los ejemplos y cambia por tus valores. Prueba y error. No doy nada hecho. Si no lo intentas tu mismo mejor comprarlo hecho

Vale entendido muchas gracias y perdon por las molestias :cold_sweat:

Yo con startsWith, no se como hacerlo, pero te propongo una solución “artesanal”

String Dreccion="G0 X123 Y456 Z-78";              // String de partida
int Ejes[]={0,0,0};                               // Valorea a encontrar
String Buscando[]={"X", "Y", "Z"};                // Texto buscado
int Indice=0;                                     // Auxiliar Para recorrer la cadena
int Largo=0;                                      // Longitud de la cadena
int Inicio, Fin=0;                                // Auxiliares para saver donde esta el valor buscado
void setup()
{
  Serial.begin(9600);
}

void loop()
{ 
  Dreccion += " ";                                             // Para asegurarse que encuentra el final
  Largo=Dreccion.length();                                     // Longitud de la cadena
  Indice=0;                                                    // Auxiliara para recorrer la cadena
  for (int x=0;x<3;x++)                                        // Tres vecs, una por cada coordenada
  {                                     
    while (Dreccion.substring(Indice,Indice+1)!=Buscando[x])   // Recorremos la cadena hasta encontrar
    {Indice++;}                                                // El nombre de la coordenada
    Inicio=Indice+1;                                           // Primer caracter con coordenada
    while (Dreccion.substring(Indice,Indice+1)!=" ")           // Recorremos la cadena hasta encontrar 
    {Indice++;}                                                // Un espacio (acabo la coordenada)   
    Fin=Indice;                                                // Ultimo caracter con coordenada
    Ejes[x]=Dreccion.substring(Inicio,Fin).toInt();            // Almcenamos valor en int
  }
  Serial.println(Ejes[0]);
  Serial.println(Ejes[1]);
  Serial.println(Ejes[2]);
  while (1){;}                                                  // Detenemos el programa 
}

:) 101 Gracias