Quitar acentos a una cadena en Flex

Bienvenidos a Vertutoriales.com, en esta ocasión os traigo una función eliminar los acentos en una cadena en Flex.

Como podreis ver, en realidad lo que hacemos es reemplazar un caracter por otro, por lo que la función podría modificarse para añadirle además signos como la ñ o espacios en blanco. Ya os dejo que vosotros la utiliceis como querais.

Volviendo a la función os voy a dejar el código listo para copiar y os lo explico despues de verla:

public static function fSinAcentos(textoConAcentos:String):String {
var texto1:String = textoConAcentos as String;
texto1 = textoConAcentos.toLowerCase();
var acentos:Array=new Array(«á»,»é»,»í»,»ó»,»ú»);
var sinAcentos:Array=new Array(«a»,»e»,»i»,»o»,»u»);

function CambiaCaracter(texto:String,letraSplit:String,letraCambio:String):String {
var letras:Array=texto.split(letraSplit);
var nuevoTexto:String=new String();
for (var i:int=0;i < letras.length;i++) {
nTexto+=letras[i];
nTexto+=letraCambio;
}
nTexto=nuevoTexto.substring(0,nTexto.length-1);
return nuevoTexto;
}

for (var i:int=0; i < acentos.length; i++) {
texto1 = CambiaCaracter(texto1,acentos[i],sinAcentos[i]);
}

return texto1.toUpperCase();
}

Como podeis ver la función fSinAcentos, recibe un parametro string textoConAcentos que más adelante será tratado para devolver la cadena formateada a nuestro gusto.

Lo primero que hacemos es declarar una variable y le asignamos el valor de nuestro textoConAcentos con el lowerCase para poner todo en minúscula. Además declaramos dos arrays, una con los simbolos a modificar y otra con los simbolos por los que serán cambiados.

Declaramos la función CambiarCaracter que será la encargada de comprobar e ir reemplazando todos los caracteres del array que queremos modificar por el que declaramos como caracteres correctos. Luego simplemente llamaremos a la función tantas veces como caracteres «incorrectos» tengamos en el array.

Espero que os sirva!

Un saludo!

Carlos Dk

Apasionado por la enseñanza y el SEO

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.