Blog Informáticos Murcia

Desde Murcia hacia el resto del mundo.

Blog Informáticos Murcia

Desde Murcia hacia el resto del mundo.

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.