Diferencia entre revisiones de «objeto.substring()»
De ArduWiki
(→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 15:33 20 feb 2019
Contenido
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);
}
}