如何使用Bash分别将Žvaigždės aukštybėj užges
或äüöÖÜÄ
这样的字符串转换为Zvaigzdes aukstybej uzges
或auoOUA
?Bash:将非ASCII字符转换为ASCII
基本上我只想转换所有不是拉丁字母的字符。
感谢
如何使用Bash分别将Žvaigždės aukštybėj užges
或äüöÖÜÄ
这样的字符串转换为Zvaigzdes aukstybej uzges
或auoOUA
?Bash:将非ASCII字符转换为ASCII
基本上我只想转换所有不是拉丁字母的字符。
感谢
根据你的机器,你可以尝试通过
iconv -f utf-8 -t ascii//translit
管道的弦上(或任何你的编码,如果不是UTF-8)
echo Hej på dig, du den dära | iconv -f utf-8 -t us-ascii//TRANSLIT
得到:
Hej pa dig, du den dara
你也许可以使用iconv。
例如,字符串:
Žvaigždėsaukštybėjužges或äüöÖÜÄ
是在文件testutf8.txt,UTF8格式。
运行命令:
iconv -f UTF8 -t US-ASCII//TRANSLIT testutf8.txt
结果:
Zvaigzdes aukstybej uzges或auoOUA
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) {
}
那是bash的?我不这么认为... – watain 2012-03-30 18:14:54
赞同@watain – guitarflow 2013-04-16 16:44:08
容易批评这一点,但一个新手采取了努力,大喊大叫,现在离开了SO。 [缓慢鼓掌..]没有iconv,我们会做什么? – geotheory 2015-12-19 09:35:49