Diferencia entre revisiones de «String»

De ArduWiki
Saltar a: navegación, buscar
(Comentarios)
(Metodos)
Línea 23: Línea 23:
 
!Método!!Descripción
 
!Método!!Descripción
 
|-
 
|-
|[[objeto.substring()]]||Extrae una subcadena a partir de '''desde''' y finalizando en '''hasta'''.
+
|[[objeto.substring()]]||Extrae una subcadena
 
|-
 
|-
|[[objeto.concat()]]||Agrega (adjunta) el parametro '''cadena''' a esta.
+
|[[objeto.concat()]]||Agrega (adjunta) un dato a la cadena
 
|-
 
|-
|[[objeto.charAt()]]||Retorna el caracter ubicado en la posición '''i'''.
+
|[[objeto.charAt()]]||Retorna el caracter ubicado en determinada posición
 
|-
 
|-
|[[objeto.compareTo()]]||Compara lexicográficamente con '''cadena'''
+
|[[objeto.compareTo()]]||Realiza una comparación lexicográfica (para efectos de ordenar)
 
|-
 
|-
 
|[[objeto.c_str()]]||Retorna un puntero de [[char]] (a manera de [[string]]) como acceso directo al buffer interno
 
|[[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 <nowiki>==</nowiki> (prueba igualdad)
+
|[[objeto.equals()]]||Prueba igualdad entre dos cadenas
 
|-
 
|-
 
|[[objeto.equalsIgnoreCase()]]||Igual al anterior, salvo que no distingue mayúsculas
 
|[[objeto.equalsIgnoreCase()]]||Igual al anterior, salvo que no distingue mayúsculas
Línea 39: Línea 39:
 
|[[objeto.length()]]||Retorna longitud de cadena (en cantidad de caracteres)
 
|[[objeto.length()]]||Retorna longitud de cadena (en cantidad de caracteres)
 
|-
 
|-
|[[objeto.trim()]]||Elimina los espacios sobrantes a ambos lados de la cadena.
+
|[[objeto.trim()]]||Elimina los espacios sobrantes a ambos lados de la cadena
 
|-
 
|-
 
|[[objeto.toLowerCase()]]||Pasa a minúsculas
 
|[[objeto.toLowerCase()]]||Pasa a minúsculas
Línea 45: Línea 45:
 
|[[objeto.toUpperCase()]]||Pasa a mayúsculas
 
|[[objeto.toUpperCase()]]||Pasa a mayúsculas
 
|-
 
|-
|[[objeto.toCharArray()]]||Copia la cadena al buffer '''buf''' de longitud '''lon''' (en bytes).
+
|[[objeto.toCharArray()]]||Copia la cadena de un lugar a otro
 
|-
 
|-
|[[objeto.getBytes()]]||Versión [[byte]] del anterior.
+
|[[objeto.getBytes()]]||Versión [[byte]] del anterior
 
|-
 
|-
|[[objeto.replace()]]||Reemplaza todas las coincidencias con '''cadena1''' por '''cadena2'''.
+
|[[objeto.replace()]]||Reemplaza una o varias porciones de la cadena.
 
|-
 
|-
|[[objeto.remove()]]||Remueve una porción de la cadena, a partir de '''indice''' hasta eliminar '''conteo''' caracteres
+
|[[objeto.remove()]]||Remueve una porción de la cadena
 
|-
 
|-
|[[objeto.indexOf()]]||Retorna el índice de la primera coincidencia con '''c''', a partir de '''desde'''
+
|[[objeto.indexOf()]]||Retorna el índice de la primera coincidencia con un caracter u otra cadena
 
|-
 
|-
|[[objeto.lastIndexOf()]]||Retorna el índice de la última coincidencia con '''c''', a partir de '''desde''' (hacia atrás)
+
|[[objeto.lastIndexOf()]]||Retorna el índice de la última coincidencia con un caracter u otra cadena
 
|-
 
|-
|[[objeto.startsWith()]]||Verifica si inicia con '''cadena''' (prefijo)
+
|[[objeto.startsWith()]]||Verifica si inicia con determinada secuencia (prefijo)
 
|-
 
|-
|[[objeto.endsWith()]]||Verifica si termina con '''cadena''' (sufijo)
+
|[[objeto.endsWith()]]||Verifica si termina con determinada secuencia (sufijo)
 
|-
 
|-
|[[objeto.setCharAt()]]||Cambia al caracter '''c''' al que está en la posición '''i'''
+
|[[objeto.setCharAt()]]||Cambia un caracter en la cadena
 
|-
 
|-
|[[objeto.toInt()]]||Convierte la cadena en [[int]]
+
|[[objeto.toInt()]]||Convierte la cadena en un entero [[long]]
 
|-
 
|-
|[[objeto.toFloat()]]||Convierte la cadena en [[float]]
+
|[[objeto.toFloat()]]||Convierte la cadena en un punto flotante [[float]]
 
|-
 
|-
|[[objeto.reserve()]]||Modifica el tamaño del buffer interno a '''n''' caracteres.
+
|[[objeto.reserve()]]||Modifica el tamaño del buffer interno
 
|}
 
|}
  

Revisión del 19:34 17 jul 2018

Descripción

La clase String le permite usar y manipular cadenas de texto en formas más complejas que matriz de caracteres. 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 y por la administración de memoria automática involucrada.

Sintaxis

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

Parametros

objeto
nombre de instancia de la clase.
cadena
cadena asignada entre comillas dobles.
valor
valor numérico asignado.
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
objeto.concat() Agrega (adjunta) un dato a la cadena
objeto.charAt() Retorna el caracter ubicado en determinada posición
objeto.compareTo() Realiza una comparación lexicográfica (para efectos de ordenar)
objeto.c_str() Retorna un puntero de char (a manera de string) como acceso directo al buffer interno
objeto.equals() Prueba igualdad entre dos cadenas
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 de un lugar a otro
objeto.getBytes() Versión byte del anterior
objeto.replace() Reemplaza una o varias porciones de la cadena.
objeto.remove() Remueve una porción de la cadena
objeto.indexOf() Retorna el índice de la primera coincidencia con un caracter u otra cadena
objeto.lastIndexOf() Retorna el índice de la última coincidencia con un caracter u otra cadena
objeto.startsWith() Verifica si inicia con determinada secuencia (prefijo)
objeto.endsWith() Verifica si termina con determinada secuencia (sufijo)
objeto.setCharAt() Cambia un caracter en la cadena
objeto.toInt() Convierte la cadena en un entero long
objeto.toFloat() Convierte la cadena en un punto flotante float
objeto.reserve() Modifica el tamaño del buffer interno

Comentarios

  • La clase String forma parte del núcleo del IDE a partir de la versión 0019 y es necesario la instancia de la clase, osea crear un objetos, pero las ventajas son: muchos métodos disponibles y administración automática de memoria.
  • Las clases String pueden contener caracteres "\0" incrustados, son más rápidas que las matrices de caracteres asignadas en el montón para textos breves y te protegen de los desbordamientos del búfer.

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.
  • Las constantes de cadena especificadas con "comillas dobles" son tratadas como matrices de caracteres y no como la clase String.
  • objeto.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.
  • objeto.reserve() afecta el tamaño del "contenedor", pero no necesariamente lo que retornará objeto.length() justo después; ya que este último cuenta la longitud real de la cadena y no la de su "contenedor" o "buffer".
  • objeto.compareTo() es sensible a las mayúsculas; para sobrellevar este problema, ambas cadenas tendrían que pasar por objeto.toLowerCase() o objeto.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(31416, 4); //"3.1416"

Ejemplo 2

String cadena = "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