我的意思是“苹果”是一个词,但“opple”不是。
所以我想创建一个非常简单的应用程序,检查用户输入的内容是否为单词。
是否有可以导入的小部件或其他内容来执行此操作?
我没有看到任何关于此的文档,但我知道手机内置了拼写检查,所以我可以使用一些帮助。
答案 0 :(得分:0)
为了检查字符串中是否有单个字,我会查找空格:
if (str != null && !str.trim().isEmpty() && str.trim().indexOf(' ') == -1) {
// it's a single word
}
答案 1 :(得分:0)
可能有很多方法可以做到这一点,但有一种方法是你基本上需要在项目的根目录中有一个单词列表。之后,您使用代码检查String
是否是您在根目录中的单词列表的一部分。
如果您使用的是java,可以按照
进行操作
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
public class Dictionary
{
private Set<String> wordsSet;
public Dictionary() throws IOException
{
Path path = Paths.get("words.txt");
byte[] readBytes = Files.readAllBytes(path);
String wordListContents = new String(readBytes, "UTF-8");
String[] words = wordListContents.split("\n");
wordsSet = new HashSet<>();
Collections.addAll(wordsSet, words);
}
public boolean contains(String word)
{
return wordsSet.contains(word);
}
}
&#13;
`
答案 2 :(得分:0)
我假设您在这里指的是英语,如果您想创建像jaazy或google拼写检查API这样的字典结构,可以使用多个库。
虽然如果你不想要所有语言单词并且只有一小组你自己的单词......那么
//使用hashSet将其保持为静态并加载hashSet中的所有单词 //然后,当输入一个单词时,只需使用hashSet.contains()函数来获取该元素是否存在于hashSet中,或者不是[o(1)operation]。 //你的方法可以返回包含方法返回的内容。
如果您需要更多详细信息,请与我们联系。
-Sami