通配符查詢字典字詞系統及其方法
2023-10-08 08:51:49
專利名稱:通配符查詢字典字詞系統及其方法
技術領域:
一種查詢字典字詞系統及其方法,特別是指涉及一種使用通配符查詢字 詞的通配符查詢字典字詞系統及其方法。
背景技術:
字典對於現代人來說,相當的有幫助,通過字典可以查詢不同語言之間
的字詞解釋,例如以英語查詢漢語解釋的英漢字典、以漢語查詢英語解釋 的漢英字典等。
對於英漢字典而言,提供一種通配符查詢英漢字典字詞的功能,所謂的 通配符即為"*"字符以及"?"字符兩種字符,"*"字符所代表"0~~" 多個任意字符,"?,,字符所代表一個任意字符。因此,假如使用者輸入"a b" 即為查詢字首為a字符以及字尾為b字符三個字符的所有英文字詞;假如使 用者輸入"a*b"即為查詢字首為a字符以及字尾為b字符多個字符的所有 英文字詞。
對於使用通配符查詢英漢字典字詞的功能,其功能並無法滿足快速查詢 的要求,需要花費數秒鐘的時間,方能查詢出結果;以結果分析而言,查詢 出的字詞並未列出所有符合通配符要求的字詞,甚至不準確;舉例來說,當 4tJ ) ^[",lr入"氺氺77承承承77承氺7承77承承77777承承7777777承承77777承承承承7777承承氺"日t, 確的查詢結果為28個字符以上的字詞,但是卻找出"American" 28個字符 以下的字詞,明顯的指出不精確查詢結果。
綜上所述,可知現有技術中長期以來一直存在使用通配符查詢英漢字典 字詞不精確的問題,因此有必要提出改進的技術方案,來解決此一問題
發明內容
有鑑於現有技術存在使用通配符查詢英漢字典字詞不精確的問題,本發
明於是提供一種通配符查詢字典字詞系統及其方法,其中
本發明所提供的通配符查詢字典字詞系統,應用於字典,字典的英文字 詞由英文字母順序依序進行排序,並依序給予索引值並生成索引表,其系統 包含接收模塊、通配符處理模塊、索引範圍模塊、匹配模塊以及顯示模塊。
其中,接收模塊,用以接收第一查詢字詞,第一查詢字詞包含至少一通配符。
通配符處理模塊,以至少一個有效字符為界限,將第一查詢字詞中通配 符依據所包含的第一通配符及第二通配符進行分類並統計數目,將第一查詢 字詞重新組合為第二查詢字詞,並計算該第二查詢字詞的最小字符數量。
索引範圍模塊,以第二查詢字詞為基準於索引表中找出的索引值,其最 大索引值及最小該索引值為索引範圍。
匹配模塊,依據索引範圍,進行索引值對應的英文字詞與第二查詢字詞 進行匹配,將符合匹配的索引值記錄至查詢結果索引表中。
顯示模塊,通過查詢結果索引表中的索引值,找出對應的英文字詞並顯
示o
本發明所提供的通配符查詢字典字詞方法,應用於字典,字典的英文字 詞由英文字母順序依序進行排序,並依序給予索引值並生成索引表,其方法
包含下列步驟
首先,接收第一查詢字詞,第一查詢字詞包含至少一個通配符。
接著,以至少一個有效字符為界限,將第一查詢字詞中通配符依據所包 含的第一通配符及第二通配符進行分類並統計數目,將第一查詢字詞重新組 合為第二查詢字詞,並計算該第二查詢字詞的最小字符數量。
接著,以第二查詢字詞為基準於索引表中找出的索引值,其最大索引值 及最小索引值為索引範圍。
接著,進行索引值對應的英文字詞與第二查詢字詞進行匹配,將符合匹 配的索引值記錄至查詢結果索引表中。
最後,通過查詢結果索引表中的索引值,找出對應的英文字詞並顯示。本發明所提供的系統與方法如上,與現有4支術之間的區別在於本發明將 字典的英文字詞由英文字母順序依序進行排序,並依序給予索引值並生成索 引表,當使用者輸入具有通配符的查詢字詞時,以至少一個有效字符為界限, 將通配符進行分類整理,再找出索引範圍,即可以逐一比對索引範圍中的英 文字詞與查詢字詞,可以精確的找出符合通配符的英文字詞。
通過上述的技術方案,本發明可以達到使用通配符精確查詢出英文字詞 的技術效果。
圖1為本發明通配符查詢字典字詞系統的框圖。
圖2為本發明通配符查詢字典字詞方法的流程圖。 圖3為本發明字典的索引表生成示意圖。
具體實施例方式
以下將結合附圖及實施例來詳細說明本發明的之實施方式,以此對本發 明如何應用技術方案來解決技術問題並達到技術效果的實現過程能充分理 解並據以實施。
以下將說明本發明通配符查詢字典字詞系統、運行方式及流程,並請同 時參考圖1以及圖2所示,圖1為本發明通配符查詢字典字詞系統框圖;圖 2為本發明通配符查詢字典字詞方法流程圖。
本發明所提供的通配符查詢字典字詞系統,應用於字典,將字典的英文 字詞由英文字母順序依序進行排序,並依序給予索引值並生成索引表,其系 統包含接收模塊IO、通配符處理模塊20、索引範圍模塊30、匹配模塊40 以及顯示模塊50。
其中,接收^t塊10,用以接收第一查詢字詞,第一查詢字詞包含至少 一個通配符(步驟100)。
第一查詢字詞為使用者輸入所要查詢的英文字詞;通配符包含第一通配 符以及第二通配符,第一通配符代表任意一個英文字母字符,第一通配符的代表符號可以為"?,,,第二通配符代表任意複數個英文字母字符,第二通 配符的代表符號可以為"*"。
通配符處理模塊20,依據接收模塊10所接收的第一查詢字詞進行處理, 將第一查詢字詞以至少一個有效字符為界限,將第一查詢字詞中所有連續的 通配符分別依據所包含的第一通配符及第二通配符進行分類並統計數目,同 時將第一通配符及統計後的數目放置於第二通配符之前,重新組合為第二查 詢字詞,並計算該第二查詢字詞的最小字符數量(步驟200)。
所謂的有效字符即為英文字母字符,依據英文字母字符為界限,即可以 將通配符分隔為不同的區段,當通配符區分為不同區段後,通配符處理模塊 20將會依據不同的通配符區段,將第一通配符的數目記錄於第一通配符之 後,並保存一個第一通配符,其餘的第一通配符將消除;至於第二通配符的 處理方法為,通配符處理模塊20將保存一個第二通配符,其餘的第二通配 符將消除。
在此舉一個例子說明通配符處理模塊20的處理方法,當使用者輸入 " *a* ** *b* *t** "時,接收模塊io將會接收第一查詢字詞為 " *a* ** *b* *t** ",並傳送至通配符處理才莫塊20;通配符處理才莫 塊20會開始進行處理,首先,通配符處理模塊20找出的第一有效字符為"a" 字符,以有效字符"a"字符為界限之前具有通配符為"? *,,。
通配符處理模塊20會開始進行通配符處理,統計第一通配符"?"字符 的數目為2,並將第一通配符的數目為2記錄於第一個第一通配符之後,並 保存第一個第一通配符,其餘的第一通配符將消除;保存第一個第二通配符,
其餘的第二通配符將消除,同時將第 一通配符以及第 一通配符的數目放置於 第二通配符之前,重新組合通配符為"?2*"。
接下來,通配符處理模塊20找出的第二有效字符為"b,,字符,以第一 有效字符"a,,字符以及第二有效字符"b"字符為界限,在第一有效字符"a" 字符以及第二有效字符"b,,字符之間具有通配符為"* ** *,,。
通配符處理模塊20會再次進行通配符處理,統計第一通配符"?"字符 的數目為3,並將第一通配符的數目為3記錄於第一個第一通配符之後,並 保存第一個第一通配符,其餘的第一通配符將消除;保存第一個第二通配符,其餘的第二通配符將消除,同時將第一通配符以及第一通配符的數目放置於 第二通配符之前,重新組合通配符為"?3*"。
接下來,通配符處理模塊20找出的第三有效字符為"t"字符,以第二 有效字符"b,,字符以及第三有效字符"t,,字符為界限,在第一有效字符"a" 字符以及第二有效字符"b"字符之間具有通配符為"* *,,。
通配符處理模塊20會再次進行通配符處理,統計第一通配符"?"字符 的數目為2,並將第一通配符的數目為2記錄於第一個第一通配符之後,並 保存第一個第一通配符,其餘的第一通配符將消除;保存第一個第二通配符, 其餘的第二通配符將消除,同時將第 一通配符以及第 一通配符的數目放置於 第二通配符之前,重新組合通配符為"?2*"。
接下來,通配符處理模塊20找出的第三有效字符為"t"字符,以有效 字符"t"字符為界限之後具有通配符為"** "。
通配符處理模塊20會再次進行通配符處理,統計第一通配符"?,,字符 的數目為3,並將第一通配符的數目為3記錄於第一個第一通配符之後,並 保存第一個第一通配符,其餘的第一通配符將消除;保存第一個第二通配符, 其餘的第二通配符將消除,同時將第一通配符以及第一通配符的數目放置於 第二通配符之前,重新組合通配符為"?3*"。
接著,通配符處理模塊20處理完第 一 查詢字詞 " *a* ** *b* *t** ,,中所有的通配符後,將處理的通配符分別為 " 2*" 、 "?3*" 、 "?2*"及"?3*",並且將第一有效字符"a,,、第二
有效字符"b,,及第三有效字符"t"重新組合為第二查詢字詞 " 2*a 3*b 2*t 3*,,。
最後,通配符處理模塊20會計算第二查詢字詞的最小字符數量,即除 去第二通配符後的有效字符以及第一通配符的字符數量,因此,依據第二查 詢字詞為"?2*a 3*b 2*t 3*,,通配符處理模塊20所計算最小字符數量有 效字符數量為3,第一通配符的字符數量為10,第二查詢字詞為 " 2*a 3*b 2*t 3*,,的最小字符數量為13。
接下來,請參考圖3所示,並同時參考圖1以及圖2,圖3為本發明字典的索引表生成示意圖。
當第二查詢字詞產生後,索引範圍模塊30,以第二查詢字詞為基準於 索引表中找出的索引值,其最大索引值及最小索引值為索引範圍(步驟300)。
上述的索引表為字典的英文字詞61由英文字母順序依序進行排序,並 依序給予索引值62並生成索引表63。
同樣地,我們以使用者輸入"a* ** *b,,當作舉例,說明索引範圍模 塊30如何找出索引範圍。
索引範圍模塊30所使用的檢索方法可以為二分檢索法,由於索引值62 是連續存儲的,每個索引值62指向一個英文字詞61,這樣一來使用二分才企 索法檢索會提高檢索速度,例如若在一個112467個英文字詞的字典中查 找一個固定英文字詞,只需要比較17次(217 = 131072 > 112467),即可 以找出對應的英文字詞。
才艮據第二查詢字詞為"a 3*b",由於第二查詢字詞中的第一字符"a" 字符為有效字符,因此,索引範圍模塊30會取出第一次出現通配符之前的 有效字符,第二查詢字詞"a 3*b"第一次出現的通配符為第一通配符,取 出第一次出現通配符之前的有效字符即為"a"字符。
接著,會將索引範圍模塊30取出第一次出現通配符之前的有效字符即 為"a"字符,進行二分檢索法找出的索引值62為"0",以及將有效字符 為"a"字符之後加入最大字符(最大字符為"\Oxff,)再次進行二分檢索 法找出的索引值62為"4525",所得到的索引值62分別為"0"以及"4525" 即為索引範圍。
以另外一個例子來看,當使用者輸入"* ** *b,,時,根據通配符處理 -漠塊20所處理出來的結果第二查詢字詞為"?3*b,,,由於第二查詢字詞中 的第一字符" "為通配符,因此,索引範圍模塊30會直接將檢索範圍定為 整個索引表63。
當找出索引範圍後,匹配模塊40,依據索引範圍模塊30所找出的索引 範圍,逐一進行索引值62對應的英文字詞61與第二查詢字詞進行匹配,將 符合匹配的索引值62記錄至查詢結果索引表中(步驟400)。逐一進行索引值62對應的英文字詞61與第二查詢字詞進行匹配,匹配 模塊40的匹配過程如下列步驟。
首先,匹配;f莫塊4(H殳定英文字詞61匹配位置及第二查詢字詞匹配^f立置 為起始匹配位置,即為將英文字詞61的匹配位置設置為該英文字詞61的起 始位置,將第二查詢字詞的匹配位置設置為該第二查詢字詞的起始位置。
接下來,由於第二查詢字詞具有"第一通配符"、"第二通配符"以及 "有效字符"三種字符,因此,以下將針對"第一通配符"、"第二通配符,, 以及"有效字符,,分別進行說明,首先會說明,當第二查詢字詞匹配位置的 字符為第一通配符時,匹配模塊40的處理情況;接著會說明,當第二查詢 字詞匹配位置的字符為第二通配符時匹配模塊40的處理情況;最後會說明, 當該第二查詢字詞匹配位置的字符為所述有效字符時,匹配模塊40的處理 情況。
當第二查詢字詞匹配位置的字符為第一通配符時,英文字詞61匹配位 置位移第一通配符的數目及第二查詢字詞匹配位置位移兩個字符,若英文字 詞61剩餘字符少於第二查詢字詞剩餘字符,則英文字詞61不匹配,若第二 查詢字詞沒有需要匹配的字符時,則匹配成功。
當第二查詢字詞匹配位置的字符為第二通配符時,取出第二通配符後的 有效字符至下一個第一通配符為止,並且從英文字詞61匹配位置開始比對 所取出的有效字符,若比對英文字詞61匹配位置與取出的有效字符失敗, 則英文字詞61與第二查詢字詞不匹配;若比對英文字詞61匹配位置與取出 的有效字符成功,則將英文字詞61匹配位置位移有效字符的數目及第二查 詢字詞匹配位置位移有效字符的數目,此時若英文字詞61剩餘字符少於該 第二查詢字詞剩餘字符,則英文字詞61不匹配,若第二查詢字詞沒有需要 匹配的字符時,則匹配成功。
當該第二查詢字詞匹配位置的字符為所述有效字符時,英文字詞61匹 配位置的字符及該第二查詢字詞匹配位置的字符是否相同,若不同,英文字 詞61不匹配;否則將英文字詞61匹配位置及該第二查詢字詞匹配位置位移 至下一個匹配位置,若英文字詞61剩餘字符少於該第二查詢字詞剩餘字符, 則英文字詞61不匹配,若該第二查詢字詞沒有需要匹配的字符時,則匹配成功。
上述為匹配模塊40的匹配過程,以下將以2個例子分別說明匹配模塊 40的匹配過程,當使用者輸入為"a* ** *b"以及進行匹配的英文字詞61 為"alb"為匹配失敗的舉例;當使用者輸入為"a* ** *b"以及進行匹配 的英文字詞61為"acerb"為匹配成功的舉例。
以下說明匹配失敗的舉例。首先,匹配模塊40會設定英文字詞61 "alb" 匹配位置為"a"字符及第二查詢字詞"a 3*b"匹配位置為"a"字符為起 始匹配位置。
接著,由於第二查詢字詞"a 3*b"匹配位置為"a"字符為有效字符, 匹配模塊40會檢查英文字詞61匹配位置的字符為"a"字符及該第二查詢 字詞匹配位置的字符為"a"字符是否相同,此時檢查結果是相同的。
因此,將英文字詞61匹配位置將從"a"字符位移至'T,字符,同時 第二查詢字詞匹配位置將從"a"字符位移至"?,,字符。
此時,英文字詞61剩餘字符數目為2,由於第二查詢字詞最小字符數 目為"5",因此,第二查詢字詞剩餘字符數目為"4";由於英文字詞61 剩餘字符數目為"2"少於第二查詢字詞剩餘字符數目為"4",因此,英文 字詞61 "alb"匹配結果為失敗。
以下說明匹配成功的舉例。首先,匹配模塊40會設定英文字詞61"acerb" 匹配位置為"a"字符及第二查詢字詞"a 3*b,,匹配位置為"a,,字符為起 始匹配位置。
接著,由於第二查詢字詞"a 3*b,,匹配位置為"a"字符為有效字符, 匹配模塊40會檢查英文字詞61匹配位置的字符為"a,,字符及該第二查詢 字詞匹配位置的字符為"a"字符是否相同,此時;^查結果是相同的;因此, 將英文字詞61匹配位置將從"a"字符位移至"c"字符,同時第二查詢字 詞匹配位置將從"a"字符位移至"?,,字符。
此時,英文字詞61剩餘字符數目為"4",由於第二查詢字詞最小字符 數目為"5",因此,第二查詢字詞剩餘字符數目為"4";由於英文字詞 61剩餘字符數目為"4",不少於第二查詢字詞剩餘字符數目為"4",且第二查詢字詞尚有需要匹配的字符,會進入,下一次的匹配過程。
由於第二查詢字詞"a 3*b"的匹配位置位移至"?"字符為第一通配符, 匹配模塊40會將英文字詞61匹配位置位移第一通配符的數目及第二查詢字 詞匹配位置位移兩個字符,因此,英文字詞61匹配位置將/人"c"字符位移 三個字符至"b"字符,同時,第二查詢字詞匹配位置將從"?,,字符位移二 個字符至"*"字符。
此時,英文字詞61剩餘字符數目為"1",由於第二查詢字詞最小字符 數目為"5",因此,第二查詢字詞剩餘字符數目為"1";由於英文字詞 61剩餘字符數目為"1"不少於第二查詢字詞剩餘字符數目為"1",且第 二查詢字詞尚有需要匹配的字符,會進入,下一次的匹配過程。
由於第二查詢字詞"a 3*b"的匹配位置位移至"*"字符為第二通配符, 匹配模塊40會取出第二通配符後的有效字符至下一個第一通配符為止,並 且從英文字詞61匹配位置開始比對所取出的有效字符,若比對英文字詞61 匹配位置與取出的有效字符失敗,則英文字詞61與第二查詢字詞不匹配; 若比對英文字詞61匹配位置與取出的有效字符成功,則將英文字詞61匹配 位置位移有效字符的數目及第二查詢字詞匹配位置位移有效字符的數目,因 此,所取出的有效字符為"b"字符,以及有效字符數目為"1",英文字詞 61匹配位置為"b,,字符,比對英文字詞61匹配位置為"b,,字符與取出的 有效字符為"b"字符的結果是成功的,因此英文字詞61匹配位置將位移一 個字符,及第二查詢字詞匹配位置位移一個字符。
此時,英文字詞61剩餘字符數目為"0",由於第二查詢字詞最小字符 數目為"5",因此,第二查詢字詞剩餘字符數目為"0";由於英文字詞 61剩餘字符數目為"0"不少於第二查詢字詞剩餘字符數目為"0",且第 二查詢字詞沒有需要匹配的字符,匹配成功。
英文字詞61 "acerb"對應的索引值62為"859",匹配模塊40會將符 合匹配的英文字詞61的索引值62為"859"記錄至查詢結果索引表中。
接著,進入下一個英文字詞61的匹配過程,直到完成整個索引範圍匹 配過程,將所有匹配成功的英文字詞61的索引值62記錄至查詢結果索引表 中,以完成查詢結果索引表。當完成查詢結果索引表後,顯示模塊50,通過查詢結果索引表中的索 引值62,找出與索引值62對應的英文字詞61並顯示(步驟500)。除此之 外,與索引值62對應的英文字詞61可以利用對話窗口顯示英文字詞61, 並且點選對話窗口中的英文字詞61,即可以顯示英文字詞61的解釋。
英文字詞由英文字母順序依序進行排序,並依序給予索引值並生成索引表, 當使用者輸入具有通配符的查詢字詞時,以至少一個有效字符為界限,將通 配符進行分類整理,再找出索引範圍,即可以逐一比對索引範圍中的英文字 詞與查詢字詞,可以精確的找出符合通配符的英文字詞的技術方案,通過此 一技術方案可以來解決現有技術所存在的問題,進而達到使用通配符精確查 詢出英文字詞技術效果。
雖然本發明所公開的實施方式如上,但所述的內容並非用以直接限定本 發明的專利保護範圍。任何本發明所屬技術領域中具有通常知識者,在不脫 離本發明所提供的精神和範圍的前提下,可以在實施的形式上及細節上作出 改變。本發明的專利保護範圍,仍須以權利要求書所要求保護的範圍為準。
權利要求
1、一種通配符查詢字典字詞系統,應用於一字典,該字典的英文字詞由英文字母順序依序進行排序,並依序給予一索引值並生成一索引表,該系統包含一接收模塊,用以接收一第一查詢字詞,該第一查詢字詞包含至少一通配符;一通配符處理模塊,以至少一有效字符為界限,將該第一查詢字詞中所述通配符依據所包含的一第一通配符及一第二通配符進行分類並統計數目,將該第一查詢字詞重新組合為一第二查詢字詞,並計算該第二查詢字詞的最小字符數量;一索引範圍模塊,以所述第二查詢字詞為基準於所述索引表中找出的所述索引值,其最大索引值及最小索引值為一索引範圍;一匹配模塊,依據所述索引範圍,進行所述索引值對應的英文字詞與所述第二查詢字詞進行匹配,將符合匹配的所述索引值記錄至一查詢結果索引表中;及一顯示模塊,通過所述查詢結果索引表中的所述索引值,找出對應的英文字詞並顯示。
2、 如權利要求1所述的通配符查詢字典字詞系統,其中所述有效字符 為英文字母字符。
3、 如權利要求1所述的通配符查詢字典字詞系統,其中所述第一通配 符代表任意一個英文字母字符,並且該第一通配符的代表符號為"?,,,以 及所述第二通配符代表任意複數個英文字母字符,並且該第二通配符的代表 符號為。
4、 如權利要求1所述的通配符查詢字典字詞系統,其中所述通配符處 理模塊將所述第一通配符的數目記錄於該第一通配符之後,並保存一個該第 一通配符,以及保存一個所述第二通配符。
5、 如權利要求1所述的通配符查詢字典字詞系統,其中所述查詢索引 範圍模塊使用二分檢索法找出該索引範圍。
6、 如權利要求5所述的通配符查詢字典字詞系統,其中所述第二查詢 字詞中的第一字符為通配符時,所述索引範圍即為整個所述索引表。
7、 如權利要求5所述的通配符查詢字典字詞系統,其中所述第二查詢 字詞中的第一字符為所述有效字符時,取出第一次出現所述通配符之前的所 述有效字符,將所述有效字符及所述有效字符之後加入一最大字符分別進行 二分4全索法,得到的兩個索引值即為所述索引範圍。
8、 如權利要求7所述的通配符查詢字典字詞系統,其中所述最大字符 為"\0xff,。
9、 如權利要求7所述的通配符查詢字典字詞系統,其中所述匹配才莫塊 的匹配過禾呈如下設定英文字詞匹配位置及所述第二查詢字詞匹配位置為起始匹配位置;當所述第二查詢字詞匹配位置的字符為所述第一通配符時,英文字詞匹 配位置位移所述第一通配符的數目及所述第二查詢字詞匹配位置位移兩個 字符,若英文字詞剩餘字符少於所述第二查詢字詞剩餘字符,則英文字詞不 匹配,若所述第二查詢字詞沒有需要匹配的字符時,則匹配成功;當所述第二查詢字詞匹配位置的字符為所述第二通配符時,取出所述第 二通配符後的所述有效字符至下一個第一通配符為止,並且從英文字詞匹配 位置開始比對所取出的有效字符,若比對英文字詞匹配位置與取出的有效字 符失敗,則英文單詞與第二查詢字詞不匹配,若比對英文字詞匹配位置與取^ 出的有效字符成功,則將英文字詞匹配位置位移所述有效字符的數目及該第 二查詢字詞匹配位置位移所述有效字符的數目,此時若英文字詞剩餘字符少 於所述第二查詢字詞剩餘字符,則英文字詞不匹配,若所述第二查詢字詞沒 有需要匹配的字符時,則匹配成功;及當所述第二查詢字詞匹配位置的字符為所述有效字符時,英文字詞匹配 位置的字符及所述第二查詢字詞匹配位置的字符是否相同,若不同,英文字詞不匹配;否則將英文字詞匹配位置及所述第二查詢字詞匹配位置位移至下 一個匹配位置,若英文字詞剩餘字符少於所述第二查詢字詞剩餘字符,則英 文字詞不匹配,若所述第二查詢字詞沒有需要匹配的字符時,則匹配成功。
10、 如權利要求1所述的通配符查詢字典字詞系統,其中所述顯示^t塊 進一步包含以一對話窗口顯示英文字詞,點選該對話窗口中的英文字詞,即 可以顯示該英文字詞的解釋。
11、 如權利要求1所述的通配符查詢字典字詞系統,其中所述通配符處 理模塊進一步包含將所述第一通配符放置於所述第二通配符之前。
12、 一種通配符查詢字典字詞方法,應用於一字典,該字典的英文字詞 由英文字母順序依序進行排序,並依序給予一索引值並生成一索引表,該方 法包含下列步驟4妄收一第一查詢字詞,該第一查詢字詞包含至少一通配符;以至少一有效字符為界限,將所述第一查詢字詞中所述通配符依據所包 含的一第一通配符及一第二通配符進行分類並統計數目,將所述第一查詢字 詞重新組合為一第二查詢字詞,並計算該第二查詢字詞的最小字符數量;以所述第二查詢字詞為基準於所述索引表中找出的所述索引值,其最大 索引值及最小索引值為一索引範圍;依據所述索引範圍,進行所述索引值對應的英文字詞與所述第二查詢字 詞進行匹配,將符合匹配的所述索引值記錄至一查詢結果索引表中;及通過所述查詢結果索引表中的所述索引值,找出對應的英文字詞並顯示。
13、 如權利要求12所述的通配符查詢字典字詞方法,其中所述有效字 符為英文字母字符。
14、 如權利要求12所述的通配符查詢字典字詞方法,其中所述第一通 配符代表任意一個英文字母字符,並且該第一通配符的代表符號為"?", 以及所述第二通配符代表任意複數個英文字母字符,並且該第二通配符的代表符號為"*"。
15、 如權利要求12所述的通配符查詢字典字詞方法,其中重新組合為 一第二查詢字詞的步驟為將所述第一通配符的數目記錄於該第一通配符之 後,並保存一個所述第一通配符,以及保存一個所述第二通配符。
16、 如權利要求12所述的通配符查詢字典字詞方法,其中找出的所述 索引值的步驟為使用二分檢索法找出該索引範圍。
17、 如權利要求16所述的通配符查詢字典字詞方法,其中所述第二查 詢字詞中的第一字符為通配符時,所述索引範圍即為整個所述索引表。
18、 如權利要求16所述的通配符查詢字典字詞方法,其中所述第二查 詢字詞中的第一字符為所述有效字符時,取出第一次出現該通配符之前的所 述有效字符,將所述有效字符及所述有效字符之後加入一最大字符分別進行 二分檢索法,得到的兩個索引值即為所述索引範圍。
19、 如權利要求18所述的通配符查詢字典字詞方法,其中所述最大字 符為"\0xff,。
20、 如權利要求12所述的通配符查詢字典字詞方法,其中逐一進行所 述索引值對應的英文字詞與所述第二查詢字詞進行匹配的步驟,進一步包含 下列步驟設定英文字詞匹配位置及所述第二查詢字詞匹配位置為起始匹配位置; 當所述第二查詢字詞匹配位置的字符為所述第一通配符時,英文字詞匹 配位置位移所述第一通配符的數目及所述第二查詢字詞匹配位置位移兩個 字符,若英文字詞剩餘字符少於所述第二查詢字詞剩餘字符,則英文字詞不 匹配,若所述第二查詢字詞沒有需要匹配的字符時,則匹配成功;當所述第二查詢字詞匹配位置的字符為所述第二通配符時,取出所述第 二通配符後的所述有效字符至下一個所述第一通配符為止,並且從英文字詞 匹配位置開始比對所取出的有效字符,若比對英文字詞匹配位置與取出的有 效字符失敗,則英文單詞與第二查詢字詞不匹配,若比對英文字詞匹配位置與取出的有效字符成功,則將英文字詞匹配位置位移所述有效字符的數目及 所述第二查詢字詞匹配位置位移所述有效字符的數目,此時若英文字詞剩餘字符少於所述第二查詢字詞剩餘字符,則英文字詞不匹配,若所述第二查詢字詞沒有需要匹配的字符時,則匹配成功;及當所述第二查詢字詞匹配位置的字符為所述有效字符時,英文字詞匹配 位置的字符及所述第二查詢字詞匹配位置的字符是否相同,若不同,英文字 詞不匹S己;否則將英文字詞匹配位置及所述第二查詢字詞匹配位置位移至下 一個匹配位置,若英文字詞剩餘字符少於所述第二查詢字詞剩餘字符,則英 文字詞不匹配,若所述第二查詢字詞沒有需要匹配的字符時,則匹配成功。
21、 如權利要求12所述的通配符查詢字典字詞方法,其中找出對應的 英文字詞並顯示的步驟進一步包含以一對話窗口顯示英文字詞,點選該對話 窗口中的英文字詞,即可以顯示該英文字詞的解釋。
22、 如權利要求12所述的通配符查詢字典字詞方法,其中將所述第一 查詢字詞重新組合為一第二查詢字詞的步驟進一步包含將所述第一通配符 放置於所述第二通配符之前的步驟。
全文摘要
一種通配符查詢字典字詞系統及其方法,其通過使用者輸入具有通配符的查詢字詞時,將通配符進行分類整理,再找出索引範圍,即可以逐一比對索引範圍中的英文字詞與查詢字詞,可以精確的找出符合通配符的英文字詞的技術方案,可以解決現有技術中所存在使用通配符查詢英漢字典字詞不精確的問題,以此可以達到使用通配符精確查詢出英文字詞的技術效果。
文檔編號G06F17/30GK101452458SQ20071019550
公開日2009年6月10日 申請日期2007年11月30日 優先權日2007年11月30日
發明者程新軍, 邱全成 申請人:英業達股份有限公司