Próbuję przekonwertować cały łaciński znaków Unicode na ich [a-z]
reprezentacjijak wymienić łaciński unicode charakter [AZ] znaków
ó --> o
í --> i
mogę łatwo zrobić jeden po drugim na przykład:
myString = myString.replaceAll("ó","o");
ale ponieważ jest mnóstwo odmian, to podejście jest po prostu niepraktyczne
Czy jest inny sposób robienia tego w Javie? na przykład regular Expression
lub Przypadek utility library
ZASTOSOWANIE:
1- nazw miejscowości z innym języku angielskim E.C.
Espírito Santo -> Espirito Santo,
http://stackoverflow.com/a/25057742/984823 Ale nadal być świadomi pewnych wyjątków, takich jak l-suw. –
To bardzo prymitywne podejście do twojego przypadku użycia. W języku niemieckim, w sytuacjach, w których można wyświetlić tylko ASCII, umlaut zostaje zastąpiony przez e po znaku, np. München staje się Muenchen. A prawdziwą angielską nazwą tego miasta jest Monachium. Proponuję po prostu zostawić akcenty. Jeśli aplikacja nie jest w stanie wyświetlić tych akcentów, twoja aplikacja jest straszliwie zepsuta. – roeland
@roeland tak rozumiem, problem polega na tym, że wyobraź sobie Monachium w wielu różnych językach, każdy język ma to inaczej. teraz wyobraź sobie w dużych danych, próbując przeanalizować wszystkie te dane ... dobrze, jak myślę, może nie dać nam właściwego miasta, ale conajmniej stara się je znormalizować "w miarę możliwości" (jest powiedzenie, jeśli stawka jest ponad 80% jest wystarczająco dobre). to jest to, do czego zmierzamy – nafas