Diferencia entre revisiones de «objeto.indexOf()»
De ArduWiki
m |
(→Ejemplo) |
||
Línea 18: | Línea 18: | ||
Nada. | Nada. | ||
− | == Ejemplo == | + | == Ejemplo 1 == |
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
String frase = "Apuntes de Arduino"; | String frase = "Apuntes de Arduino"; | ||
Línea 24: | Línea 24: | ||
frase.indexOf('A',2); //11 | frase.indexOf('A',2); //11 | ||
frase.indexOf('m'); //-1 | frase.indexOf('m'); //-1 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Ejemplo 2 == | ||
+ | En este ejemplo ponemos en el 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:30 20 feb 2019
Contenido
Descripción
Retorna la primera posición del caracter o cadena dados.
Sintaxis
objeto.indexOf(c[, desde]);
Parámetros
- objeto
- Instancia de la clase String.
- c
- Carácter o cadena a buscar dentro del objeto (char, string o String).
- desde
- Permite buscar una coincidencia desde cierta posición.
Retorna
La posicion hallada, o -1 si no lo encuentra (int).
Advertencias
Nada.
Ejemplo 1
String frase = "Apuntes de Arduino";
frase.indexOf('A'); //0
frase.indexOf('A',2); //11
frase.indexOf('m'); //-1
Ejemplo 2
En este ejemplo ponemos en el 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);
}
}