如何检查字符串是否为单词?
这里是菜鸟程序员。如何检查字符串是否为单词?
By word我的意思是像“苹果”是一个字,但“opple”不是。
所以我想做一个非常简单的应用程序,检查用户输入的是一个字还是不是。
是否有一个小部件或我可以导入来做到这一点?
我还没有看到这方面的任何文档,但我知道拼写检查内置于手机中,所以我可以使用一些帮助。
可能有很多的方式来做到这一点,但一个方法是,你基本上需要有一个列表词在您的项目的根目录中。之后,您使用您的代码来检查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);
}
}
`
Android有一个拼写检查服务,您可以利用,所以一个单词列表是矫枉过正。 – jdv
我想你指的是英语在这里,有多个可用的库如果你想创建一个像jaazy这样的字典结构,或者google拼写检查API。
但如果你不希望将所有组的一些语言的单词,并有一小部分的话你own..then
//使用一个HashSet保持静态和加载所有词语的HashSet的 //然后,如果输入一个单词,只需使用hashSet.contains()函数来获取该元素是否存在于hashSet中[o(1)operation]。 //你的方法可以返回任何包含方法返回的内容。
让我知道你是否需要任何更多细节。
-Sami
定义“单词”。恰恰。一旦你有了定义,你几乎可以实现。 –
[Android API](https://developer.android.com/guide/topics/text/spell-checker-framework.html)我对API不是很熟悉,所以我不能写每个答案的答案,但这应该是你想要的。 – drelliot