gpt4 book ai didi

java - 将外来字符(希腊语)转换为英语字符。

转载 作者:行者123 更新时间:2023-11-29 05:57:17 25 4
gpt4 key购买 nike

我正在安装警报,但它们有一个界面,我必须为各个区域命名。问题是他们只能接受英语中不存在的希腊字符,否则他们必须是英语等价物。例如,如果我写“ΠΑΡΑΘΥΡΟ”,字符 1,2,3,5,6,7 必须输入英文,因为在外观上与希腊字符相同。但是只有字符 0 和 4 必须是希腊语。我只关心首都。关于如何使用 2 个简单的 jtextfields 做它的任何想法?谢谢!

最佳答案

使用 HashMap 来翻译字符。由于问题域很小并且可能永远不会改变,因此硬编码 map 的内容是合理的,如下所示:

private static final Map<Character, Character> GREEK_TO_ROMAN = new HashMap<>();
static {
GREEK_TO_ROMAN.put('\u0391', '\u0041'); // uppercase alpha
GREEK_TO_ROMAN.put('\u03A1', '\u0050'); // uppercase rho
// ...
}

然后获取输入字符串的字符数组,根据需要翻译字符,并从改变的数组中创建一个新的字符串:

String s = "ΠΑΡΑΘΥΡΟ";
char[] chars = s.toCharArray();
for (int i = 0; i < chars.length; i++) {
Character repl = GREEK_TO_ROMAN.get(chars[i]);
if (repl != null)
chars[i] = repl;
}
s = new String(chars);

JTextField 将如何发挥作用我不太明白,但如果您愿意,您可以将其子类化,覆盖 getText() 方法并确保它产生的任何 String 都已转换.

关于java - 将外来字符(希腊语)转换为英语字符。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11590596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com