我的Android应用程序中有一些文本字段需要仅限于字母(可能还有一些枚举的基本符号集,如“._-,!”等)。我的第一直觉是使用Java isLetter函数。但是我不知道这是否是本地化友好的 - 我的应用程序需要本地化为日语,以及其他语言,并且Android文档没有提供关于如何工作的提示(isLetter是否依赖于当前语言,或者所有已安装语言,或只是一些Unicode字符的白名单)。我知道我不能告诉Android键盘不允许表情符号输入,所以我能够在输入后检查文本字符串并接受它,如果它没问题,并拒绝它,如果表情符号(或其他人)错误被检测到。)
在Android中有一种普遍接受的方法吗?
答案 0 :(得分:0)
isLetter应该做你需要的。这是一个例子:
public boolean isAlpha(String name) {
char[] chars = name.toCharArray();
for (char c : chars) {
if(!Character.isLetter(c)) {
return false;
}
}
return true;
}
此外,日文字符仍然是字符,所以它们仍然可以工作。这样做的方法与编码有关。
字符串只是一系列字符(字符);一个字符串本身 完全没有编码。为了它的价值,替换它中的字符 上面有载体鸽。一样。一只信鸽没有 编码。也没有炭。
来自Check if String contains only letters
和UTF-8 Encoding ; Only some Japanese characters are not getting converted