GESTIÓN 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 buscar caracteres 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”);
CAPACIDAD: Reserva 16 espacios aunque ya tengamos algo escrito. Con la segunda línea lo que haces es indicar el numero de espacios que vas a reservar.
Objeto_cadena.capacity();
Objeto_cadena.ensureCapacity(nº);
MODIFICAR: Permite modificar un carácter en una determinada posición.
Objeto_cadena.SetcharAt(posición,nuevo carácter);
INSERTAR: Añade en una determinada posición un carácter o una cadena.
Objeto_cadena.insert(posicion,’carácter’);
Objeto_cadena.insert(posicion,”cadena”);
ESPACIO SI/NO: Para saber si el contenido de una variable es un espacio. Devuelve true en caso de ser un espacio.
Character.IsSpace(objeto_carácter);
NUMERO O CARÁCTER: Para saber si el contenido de una variable es un número o un carácter. Devuelve true cuando es un número.
Character.isDigit(variable_char);
0 comentarios