La clase String

String() construye una instancia de la clase String que luego es tratado como un objeto. Existen múltiples versiones que construyen cadenas de diferentes tipos de datos (es decir, los formatea como secuencias de caracteres), que incluyen:

String(valor);
String(valor, base);
String(valor, decimales);

La construcción de una cadena a partir de un número da como resultado una cadena que contiene la representación ASCII de ese número. El valor predeterminado es base diez, por lo que:

string cadena = String(13); //"13"
string cadena = String(13, BIN); //"1101"
string cadena = String(13, HEX); //"D"
string pi = String(1426, 4);

Es importante no confundir el tipo de dato string con la clase String. Es importante crear primero el objeto instanciando la clase y luego aplicarle el método.

1 String.substring()

Obtener una subcadena de una cadena. El índice inicial es inclusivo (el carácter correspondiente se incluye en la subcadena), pero el índice final opcional es exclusivo (el carácter correspondiente no está incluido en la subcadena). Si se omite el índice final, la subcadena continúa hasta el final de la cadena.

String.substring(desde);
String.substring(desde, hasta);
 
texto = "HTTP / 1.1 200 OK"; 
if (texto.substring(9) == "200 OK") { 
   Serial.println("Obtuve un OK del servidor"); 
}

2 String.concat()

Agrega el parámetro a una Cadena. Devuelve true si lo logra y false si no lo logra.

String.concat(cadena);

Los parámetros pueden ser: String, char, int, unsigned int, long, unsigned long, float o double.

3 String.charAt()

Accede a un carácter particular de la Cadena.

String.charAt(n);

4 String.compareTo()

Compara dos cadenas. La comparación distingue entre mayúsculas y minúsculas, lo que significa que la cadena "hola" no es igual a la cadena "HOLA".

String.compareTo(cadena);

5 String.equals()

Compara dos cadenas para la igualdad. La comparación distingue entre mayúsculas y minúsculas, lo que significa que la cadena "hola" no es igual a la cadena "Hola". Es lo mismo que usar ==.

String.equals(cadena);

Aqui unos ejemplos:

string texto1 = "Apuntes de Arduino";
string texto2 = "Manual de Arduino";
texto1.equals("Arduino"); //false
if (texto1.equals (texto2)) {}
//Es lo mismo que:
if (texto1 == texto2) {}

6 String.length()

Devuelve la longitud del String en caracteres. Tenga en cuenta que esto no incluye un carácter nulo final.

String.length();

Aqui unos ejemplos:

string texto = "Apuntes de Arduino";
texto.length(); //18

7 String.trim()

Eliminar todos los espacio en blanco inicial y final. A partir de 1.0, trim() modifica la cadena en lugar de devolver una nueva.

String.trim();

8 String.toLowerCase()

Obtenga una versión en minúsculas de un String. A partir de 1.0, toLowerCase() modifica la cadena en lugar de devolver una nueva.

String.toLowerCase();

9 String.toUpperCase()

Obtenga una versión en mayúscula de una cadena. A partir de 1.0, toUpperCase() modifica la cadena en lugar de devolver una nueva.

String.toUpperCase();

10 String.replace()

La función String.replace() te permite reemplazar todas las instancias de un personaje dado por otro carácter. También puede usar String.replace() para reemplazar subcadenas de String con una subcadena diferente.

String.repace(variable,cadena)

11 String.remove()

Modifique en su lugar una cadena que elimine los caracteres del índice proporcionado al final de la cadena o del índice proporcionado para indexar más el recuento.

String.remove(indice);
String.remove(indice, conteo);

12 String.indexOf()

Localiza un carácter o cadena dentro de otra cadena. De forma predeterminada, busca desde el comienzo de la Cadena, pero también puede comenzar desde un índice dado, lo que permite la localización de todas las instancias del carácter o Cadena.

String.indexOf(val);
String.indexOf(val, from);

13 String.lastIndexOf()

Localiza un carácter o cadena dentro de otra cadena. De forma predeterminada, busca desde el final de la Cadena, pero también puede trabajar hacia atrás desde un índice dado, lo que permite la localización de todas las instancias del carácter o Cadena.

String.lastIndexOf(val);
lastIndexOf(val, from);

14 String.startsWith()

Comprueba si String inicia con los caracteres de otra cadena.

String.startsWith(cadena[,desplazamiento]);

La funcion startsWith() puede usarse para buscar un encabezado de mensaje particular o también se pueden usar con un desplazamiento para buscar una subcadena que comience en una posición particular.

 
texto = "HTTP / 1.1 200 OK"; 
if (texto.startsWith("200 OK", 9)) { 
	Serial.println("Obtuve un OK del servidor"); 
}

Precaución: si busca una posición que esté fuera del rango de la cadena, obtendrá resultados impredecibles. Por ejemplo, en el ejemplo anterior, texto.startsWith("200 OK", 16) no verificaría con la cadena en sí, pero lo que está en la memoria está más allá. Para obtener los mejores resultados, asegúrese de que los valores de índice que usa startsWith() y endsWith() están entre 0 y el String.length().

15 String.endsWith()

Comprueba si String termina con los caracteres de otra cadena.

String.endsWith(cadena);

La funcion endsWith() puede usarse para buscar un solo carácter al final de una cadena.

 
texto = "HTTP / 1.1 200 OK"; 
if (texto.endsWith("200 OK")) { 
	Serial.println("Obtuve un OK del servidor"); 
}

16 String.getBytes()

Copia los caracteres de la cadena al buffer provisto.

String.getBytes(buf, len);

17 String.toInt()

Convierte una cadena en entero.

string n = "12345";
int x = n.toInt();

18 String.toFloat()

Convierte una cadena en un numero flotante.

string n = "1245";
float x = n.toFloat();