Conversión de símbolos y letras acentuadas al alfabeto inglés
El problema es que, como sabes, hay miles de caracteres en el gráfico Unicode. y quiero convertir todos los caracteres similares a letras que están en el alfabeto inglés.
Por ejemplo, aquí hay algunas conversiones:
ҥ->H
Ѷ->V
Ȳ->Y
Ǭ->O
Ƈ->C
tђє Ŧค๓เℓy --> the Family
...
y vi que hay más de 20 versiones de la letra A/a. y no sé cómo clasificarlos. Parecen agujas en el pajar.
La lista completa de caracteres Unicode se encuentra en http://www.ssec.wisc.edu/~tomw/java/unicode.html o http://unicode.org/charts/charindex.html . Intente desplazarse hacia abajo y ver las variaciones de letras.
¿Cómo puedo convertir todo esto con Java? Por favor, ayúdame :(
Volver a publicar mi publicación de ¿Cómo elimino los signos diacríticos (acentos) de una cadena en .NET?
Este método funciona bien en Java (únicamente con el fin de eliminar marcas diacríticas, también conocidas como acentos) .
Básicamente, convierte todos los caracteres acentuados en sus homólogos desacentos seguidos de sus signos diacríticos combinados. Ahora puedes usar una expresión regular para eliminar los signos diacríticos.
import java.text.Normalizer;
import java.util.regex.Pattern;
public String deAccent(String str) {
String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD);
Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
return pattern.matcher(nfdNormalizedString).replaceAll("");
}
Es parte de Apache Commons Lang a partir de la ver. 3.0.
org.apache.commons.lang3.StringUtils.stripAccents("Añ");
devolucionesAn
Consulte también http://www.drillio.com/en/software-development/java/removing-accents-diacritics-in-any-language/