這裏是菜鳥程序員。如何檢查字符串是否爲單詞?
By word我的意思是像「蘋果」是一個字,但「opple」不是。
所以我想做一個非常簡單的應用程序,檢查用戶輸入的是一個字還是不是。
是否有一個小部件或我可以導入來做到這一點?
我還沒有看到這方面的任何文檔,但我知道拼寫檢查內置於手機中,所以我可以使用一些幫助。
這裏是菜鳥程序員。如何檢查字符串是否爲單詞?
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