Conversión de símbolos y letras acentuadas al alfabeto inglés

Resuelto ahmet alp balkan asked hace 15 años • 12 respuestas

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 :(

ahmet alp balkan avatar Jun 18 '09 01:06 ahmet alp balkan
Aceptado

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("");
}
hashable avatar Jul 31 '2009 22:07 hashable

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/

Ondra Žižka avatar Nov 03 '2012 13:11 Ondra Žižka