gpt4 book ai didi

java - 测试输入的前两个字符是否为字母数字 - 无正则表达式

转载 作者:行者123 更新时间:2023-11-30 09:48:26 25 4
gpt4 key购买 nike

我有以下代码需要一些聪明的东西来处理输入的字符和检测:

private final MultiWordSuggestOracle mySuggestions = new MultiWordSuggestOracle();
private final Set<String> mySuggestionsData = new HashSet<String>();

@UiHandler("suggestBox")
public void onKeyPress(KeyDownEvent event) {
if (Character.isLetterOrDigit(event.getCharCode())) {
char[] text = suggestBox.getText().trim().toCharArray();
if (text.length != 1) return;

for (char ch : text) {
if (!Character.isLetterOrDigit(ch)) {
return;
}
}
//load data from server into mySuggestionsData
}
}

问题有3个部分:

  1. 您如何根据字母数字字符测试按下的键。请记住这是 GWT,所以我宁愿不使用正则表达式(但如果没有其他选择......)。

  2. 检测输入到 SuggestBox 中的文本长度的最佳方法是什么?

  3. KeyDownEven 是最佳选择吗?为什么按下任意键都会触发两次?

最佳答案

您应该创建自己的 SuggestOracle(可能包装一个用作内部缓存的 MultiSuggestOracle)而不是处理事件,并检查查询的长度和“模式”决定是否调用服务器(然后给出一个空的建议列表作为响应,或者可能是一个建议作为确切的查询)。

附带说明一下,我不明白您为什么不想使用正则表达式;使用 java.lang.String 方法将正则表达式作为 String,或者 com.google.gwt.regexp.shared.RegExp类。

关于java - 测试输入的前两个字符是否为字母数字 - 无正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6255018/

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