Diferencia entre revisiones de «objeto.substring()»

De ArduWiki
Saltar a: navegación, buscar
(Ejemplo)
Línea 19: Línea 19:
 
Nada.
 
Nada.
  
== Ejemplo ==
+
== Ejemplo 1 ==
 
<syntaxhighlight lang="c++">
 
<syntaxhighlight lang="c++">
 
String frase = "Apundes de Arduino";
 
String frase = "Apundes de Arduino";
 
frase.substring(10);    //Arduino
 
frase.substring(10);    //Arduino
 
frase.substring(10,14);  //Ardu
 
frase.substring(10,14);  //Ardu
 +
</syntaxhighlight>
 +
 +
== Ejemplo 2 ==
 +
En este ejemplo ponemos en e monitor serie algo como: 123,456,789 y obtendremos 456.00 el numero entre las , en [[float]]
 +
 +
<syntaxhighlight lang="c++">
 +
void setup() {
 +
  Serial.begin(9600);
 +
}
 +
 +
void loop() {
 +
  String num = "";
 +
  while (Serial.available()){
 +
      char c = Serial.read();
 +
      num = num + c;
 +
      delay(10);
 +
  }
 +
  if (num != ""){
 +
      byte pos1 = num.indexOf(",") +1;
 +
      byte pos2 = num.indexOf(",",pos1);
 +
      float n = num.substring(pos1,pos2).toFloat();
 +
      Serial.println(n);
 +
  }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revisión del 11:33 20 feb 2019

Descripción

Extrae una cadena de caracteres entre dos posiciones.

Sintaxis

objeto.substring(desde);
objeto.substring(desde, hasta);

Parámetros

objeto
instancia de la clase String.
desde
Posición desde donde inicia la extracción de la subcadena (int).
hasta
Posición hasta donde concluye la extracción de la subcadena (int). Si no se especifica, se irá hasta el final.

Retorna

Subcadena entre las posiciones desde y hasta (String).

Advertencias

Nada.

Ejemplo 1

String frase = "Apundes de Arduino";
frase.substring(10);     //Arduino
frase.substring(10,14);  //Ardu

Ejemplo 2

En este ejemplo ponemos en e monitor serie algo como: 123,456,789 y obtendremos 456.00 el numero entre las , en float

void setup() {
   Serial.begin(9600);
}

void loop() {
   String num = "";
   while (Serial.available()){
      char c = Serial.read();
      num = num + c;
      delay(10);
   }
   if (num != ""){
      byte pos1 = num.indexOf(",") +1;
      byte pos2 = num.indexOf(",",pos1);
      float n = num.substring(pos1,pos2).toFloat();
      Serial.println(n);
   }
}

Vea también

Referencias