String sin acentos y en minúscula

Aquí os dejo una función que dado un String con acentos y con letras mayúsculas, devuelve otro String sin acentos y en minúscula.

Esto es muy útil cuando necesitas almacenar datos en una base de datos o presentar cierta información y quieres que todo sea homogéneo, ya que puede darse el caso sobre todo con los acentos y las tildes que a la hora de guardarlos en base de datos o mostrarlos por pantalla estos se muestren con caracteres extraños que no son legibles.

public static String cleanAcentos(String string) {
		String original = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇü·':";
		String ascii = "aaaeeeiiiooouuunAAAEEEIIIOOOUUUNcCu   ";

        if (string != null) {
			//Recorro la cadena y remplazo los caracteres originales por aquellos sin acentos
			for (int i = 0; i < original.length(); i++ ) {
	            string = string.replace(original.charAt(i), ascii.charAt(i));
	        }

		//Establezco todos los caracteres a minúscula.
	        string = string.toLowerCase();

        }
        return string;
	}

 

Ejemplo:

public class Main {

	public static void main(String[] args) {

		String texto1 = "Esto es un texto de PRUEBA con caracteres extraños AÂËçESPAÑA";

		//Aplico la función cleanAcentos y la almaceno en otro string
		String texto2 = cleanAcentos(texto1);

		//Imprimos los valores por consola para comprobar el resultado.
		System.out.println("texto1 = " + texto1);
                System.out.println("texto2 = " + texto2);

	}

	public static String cleanAcentos(String string) {
		String original = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇü·':";
		String ascii = "aaaeeeiiiooouuunAAAEEEIIIOOOUUUNcCu   ";

        if (string != null) {
			//Recorro la cadena y remplado los caracteres originales por aquellos sin acentos
			for (int i = 0; i < original.length(); i++ ) {
	            string = string.replace(original.charAt(i), ascii.charAt(i));
	        }

		//Establezco todos los caracteres a minuscula.
	        string = string.toLowerCase();

        }
        return string;
	}

}

 

La salida por consola es:

texto1 = Esto es un texto de PRUEBA con caracteres extraños AÂËçESPAÑA
texto2 = esto es un texto de prueba con caracteres extranos aâecespana

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.