2012-02-04 153 views
0

我正在開發一個Windows Phone應用程序,要求用戶鍵入將在標準英語字典中的有效單詞。但是,我有點困惑,至於如何去檢查一個詞是否真實。有誰知道一個很好的字典API來進行交互,或者我需要將一個單詞列表添加到我的應用程序作爲文本文件?檢查一個單詞是否真實

+0

Mac OS/iOS具有內置的帶有公共API的拼寫檢查程序。也許Windows Phone也有一個? – zneak 2012-02-04 03:32:37

回答

2

This link似乎表明,拼寫檢查API不暴露給開發者,雖然有至少one third party product聲稱它提供了一個基於API的解決方案(其中也有你可以測試它是如何工作的評價) 。


至於如何實現這個功能,如果你不能使用第三方產品,用英語的問題是所有其他語言:-)通過這一點,我的意思是,它不一定是一致的開始,它已經「提升」了其他幾十種語言的文字。

因此,沒有真正體面的規則可以告訴你,如果一個單詞是有效的。

您需要維護一本字典,並且考慮到語言的奇怪角落,您可能不得不將其限制爲常用字詞(如果空間是問題,也可能是短的字詞)。


而且,順便說一句,如果你走自己編寫基於字典的方法,你可以用一個小技巧我很多年以前的經驗教訓。

可以每個字編碼爲:

  • 字符(字節)的共同與最後的數目;和
  • 新的結局。

所以單詞列表

HERE   would encode as THIS 
-------------      ---- 
sanctimonious      0,sanctimonious 
sanction       6,on 
sanguine       3,guine 
trivial       0,trivial 

你節省7個字節直上有(19%)和我懷疑的節省將是20000字字典相似只是由於之間的最小距離(即,相鄰單詞的共同前綴)。

要查找的速度,也可以保持在內存中的26項表,召開與abc,...,z開頭的單詞的起始偏移。這些偏移處的單詞總是會自動以0作爲第一個字節,因爲它們與前一個單詞沒有共同的字母。

相關問題