Gestion de cadenas en JAVA
La manipulación de cadenas tiene una clase incorporada en el paquete java.lang. Esta clase llama a la clase String que es la representación de una matriz de caracteres que no se puede modificar. Existen otros métodos para crear y modificar cadenas, es el método StringBuffer.
CREACIÓN DE CADENAS:
String nombre=”cadena”;
LONGITUD DE CADENAS:
Objeto_cadena.length(); // devuelve un entero con la longitud.
CONCATENAR CADENAS:
Mediante el operador +. Objeto_cadena1+Objeto_cadena2
EXTRACCIÓN DE CARACTERES:
Un solo carácter:
Objeto_cadena.charAt(índice);
Varias letras:
Obj_cad.getChars(inicio,fin,cadena,0);
COMPARAR CADENAS:
EQUALS: Devuelve true si las 2 cadenas son iguales. Hace distinción entre minúsculas y mayúsculas. Para ignorar esta diferencia se utiliza la segunda sentencia.
Objeto_cadena1.equals(Objeto_cadena2); Objeto_cadena1.equalsIgnoreCase(Objeto_cadena2);
COMPARETO: Compara 2 cadenas indicando si son iguales, si la primera es menor a la segunda o si la primera es mayor a la segunda. Devuelve un valor numérico.
VALOR DESCRIPCIÓN 0 Cadenas iguales. < 0 Cadena1 menor a Cadena2. > 0 Cadena1 mayor a Cadena2.
EJEMPLO:
class cadena{ public static void main(String args[]){ String cadena="Esto es una cadena"; String cad1="1234"; String cad2="1334"; boolean res; int valor; char auxiliar[]=new char[20]; System.out.println("Long: " +cadena.length()); System.out.println("Concateno: "+cad1+cad2); System.out.println(cad1.charAt(1)); cadena.getChars(0,5,auxiliar,0); System.out.println(auxiliar); res=cad1.equals(cad2); if(res==true) System.out.println("Son iguales"); else System.out.println("Son distintas"); valor=cad1.compareTo(cad2); if(valor==0) System.out.println("Son iguales"); else if (valor<0) System.out.println("cad1 menor cad2"); else System.out.println("cad1 mayor cad2"); } }
BUSQUEDAS: Método mediante el cual se puede buscarcaracteres o cadenas, devuelve el índice donde se encuentra la primera o última coincidencia. Si la búsqueda no tiene éxito devuelve –1.
Objeto_cadena.indexOf(‘carácter’); Objeto_cadena.indexOf(“cadena”); Objeto_cadena.lastIndexOf(‘carácter’); Objeto_cadena.lastIndexOf(“cadena”);
REMPLAZAR: Recibe 2 parámetros. Letra que reemplaza y la letra a reemplazar.
Obj_cad.replace(‘letra reemplaza’,’letr a reemplazar’);
ELIMINAR ESPACIOS: Quita los espacios iniciales y finales de una cadena.
Objeto_cadena.trim();
CONVERSION: De minúsculas a mayúsculas y viceversa.
Objeto_cadena.toLowerCase(); // Lo convierte a minúsculas. Objeto_cadena.toUpperCase(); // Lo convierte a mayúsculas.
EJEMPLO:
class cade{ public static void main(String args[]){ String cad="Ahora es otra cadena distinta"; String cad1=" Ahora "; String aux; System.out.println("Primer en: "+cad.indexOf(‘e’)); System.out.println("Ultima: "+cad.lastIndexOf(‘e’)); System.out.println("otra en = ”+cad.indexOf("otra")); System.out.println("Reemplaz cadena por padena"); aux="cadena".replace(‘c’,’p’); System.out.println(aux); System.out.println(cad1.trim()); System.out.println(cad1.toUpperCase()); System.out.println(cad1.toLowerCase()); } }
Utilizando el método StringBuffer que también representa una secuencia de caracteres que se pueden ampliar y modificar directamente. Admite las mismas sentencias que String y añade nuevas sentencias.
CREACIÓN:
StringBuffer nombre=new StringBuffer(“cadena”);