Ответ 1
В зависимости от вашего устройства вы можете попробовать выполнить строчку строк через
iconv -f utf-8 -t ascii//translit
(или независимо от вашей кодировки, если это не utf-8)
Как преобразовать строку типа Žvaigždės aukštybėj užges
или äüöÖÜÄ
в Zvaigzdes aukstybej uzges
или auoOUA
, соответственно, используя Bash?
В основном я просто хочу преобразовать все символы, которые не находятся в латинском алфавите.
Спасибо
В зависимости от вашего устройства вы можете попробовать выполнить строчку строк через
iconv -f utf-8 -t ascii//translit
(или независимо от вашей кодировки, если это не utf-8)
Возможно, вы сможете использовать значок.
Например, строка:
Žvaigždės aukštybėj užges или äüöÖÜÄ
находится в файле testutf8.txt, в формате utf8.
Запуск команды:
iconv -f UTF8 -t US-ASCII//TRANSLIT testutf8.txt
приводит к:
Zvaigzdes aukstybej uzges или auoOUA
echo Hej på dig, du den dära | iconv -f utf-8 -t us-ascii//TRANSLIT
дает:
Hej pa dig, du den dara
try {
String name = "Žvaigždės aukštybėj užges ";
String s1 = Normalizer.normalize(name, Normalizer.Form.NFKD);
String regex = "[\\p{InCombiningDiacriticalMarks}\\p{IsLm}\\p{IsSk}]+";
String s2 = new String(s1.replaceAll(regex, "").getBytes("ascii"), "ascii");
} catch (UnsupportedEncodingException e) {
}