String

De ArduWiki
Saltar a: navegación, buscar

Descripción

La clase String le permite usar y manipular cadenas de texto en formas más complejas que character matriz. Se requiere más memoria para String que para una simple matriz de caracteres, pero es mucho mas útil por la cantidad de métodos disponibles.

Sintaxis

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

Parametros

objeto
nombre de instancia de la clase.
valor
valor asignado entre comillas dobles.
base
base que puede ser DEC, BIN, HEX u OCT.
decimales
numero de decimales que se usara

Metodos

Métodos de la clase String
Método Descripción
objeto.substring() Extrae una subcadena a partir de desde y finalizando en hasta.
objeto.concat() Agrega (adjunta) el parametro cadena a esta.
objeto.charAt() Retorna el caracter ubicado en la posición i.
objeto.compareTo() Compara lexicográficamente con cadena
objeto.c_str() Retorna un puntero de char (a manera de string) como acceso directo al buffer interno
objeto.equals() Es lo mismo que usar == (prueba igualdad)
objeto.equalsIgnoreCase() Igual al anterior, salvo que no distingue mayúsculas
objeto.length() Retorna longitud de cadena (en cantidad de caracteres)
objeto.trim() Elimina los espacios sobrantes a ambos lados de la cadena.
objeto.toLowerCase() Pasa a minúsculas
objeto.toUpperCase() Pasa a mayúsculas
objeto.toCharArray() Copia la cadena al buffer buf de longitud lon (en bytes).
objeto.getBytes() Versión byte del anterior.
objeto.replace() Reemplaza todas las coincidencias con cadena1 por cadena2.
objeto.remove() Remueve una porción de la cadena, a partir de indice hasta eliminar conteo caracteres
objeto.indexOf() Retorna el índice de la primera coincidencia con c, a partir de desde
objeto.lastIndexOf() Retorna el índice de la última coincidencia con c, a partir de desde (hacia atrás)
objeto.startsWith() Verifica si inicia con cadena (prefijo)
objeto.endsWith() Verifica si termina con cadena (sufijo)
objeto.setCharAt() Cambia al caracter c al que está en la posición i
objeto.toInt() Convierte la cadena en int
objeto.toFloat() Convierte la cadena en float
objeto.reserve(n) Modifica el tamaño del buffer interno a n caracteres

Advertencias

  • Tenga en cuenta, que las matrices de caracteres se conocen como string con s minúscula y las instancias de la 'clase String es con S mayúscula.
  • Tenga en cuenta que, las constantes de cadena especificadas con "comillas dobles" son tratadas como matrices de char y no como la clase String.
  • c_str() debe usarse solamente para lectura, y su puntero dejar de usarse cuando el objeto String asociado sea destruido. De lo contrario ocurriría, respectivamente, corrupción en el objeto en sí o corrupción en la memoria.
  • reserve() afecta el tamaño del "contenedor", pero no necesariamente lo que retornará length() justo después; ya que este último cuenta la longitud real de la cadena y no la de su "contenedor" o "buffer".
  • compareTo() es sensible a las mayúsculas; para sobrellevar este problema, ambas cadenas tendrían que pasar por toLowerCase() o toUpperCase() de antemano.

Ejemplo 1

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

Ejemplo 2

string cadena = String("Apuntes de Arduino");
cadena.substring(8,10);   //de
cadena.chatAt(1);         //p
cadena.length();          //18
cadena.toLowerCase();     //"apuntes de arduino"
cadena.toUpperCase();     //"APUNTES DE ARDUINO"

Vea también

Referencias