Oleg Atamanenko
Возникла проблема - каким образом заменить в строке символы из национальных кодировок на соответствующие им из латиницы.
Например, из строки explicación получить explicacion.
package com.blogspot.atamanenko;
import java.text.Normalizer;
import java.text.Normalizer.Form;
public class StringNormalizer {
public static String normalize(String string) {
return Normalizer.normalize(string, Form.NFD)
.replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}
}
Вызов Normalizer.normalize проводит нормализацию входной строки. Последующий вызов регулярного выражения удаляет все диакритические знаки, полученные после нормализации.