[發明專利]一種提取地址的方法及裝置有效
| 申請號: | 201710982783.1 | 申請日: | 2017-10-20 |
| 公開(公告)號: | CN107748778B | 公開(公告)日: | 2021-03-23 |
| 發明(設計)人: | 王功明;郭運艷;張嫻;王本強;衣秀 | 申請(專利權)人: | 浪潮軟件股份有限公司 |
| 主分類號: | G06F16/31 | 分類號: | G06F16/31;G06F16/33 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 李世喆 |
| 地址: | 250100 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 提取 地址 方法 裝置 | ||
1.一種提取地址的方法,其特征在于,
預先設置地址樹,其中,所述地址樹的每個結點對應一個地址單元,每個結點中包括對應地址單元的至少一個地址名稱;針對所述地址樹中每個具有子結點的結點,當前結點是根據當前地址單元生成的,所述當前結點的每個子結點是根據所述當前地址單元對應的下一級地址單元生成的;
包括:
根據所述地址樹中各個結點中的至少一個地址名稱,將目標字符串與所述地址樹進行匹配,當所述目標字符串中存在與所述地址樹相匹配的至少一個匹配地址時,提取出所述至少一個匹配地址;
所述根據所述地址樹中各個結點中的至少一個地址名稱,將目標字符串與所述地址樹進行匹配,當所述目標字符串中存在與所述地址樹相匹配的至少一個匹配地址時,提取出所述至少一個匹配地址,包括:
S1:將所述目標字符串的第一個字符作為當前字符;
S2:將所述地址樹的首結點作為當前結點,執行S3;
S3:判斷當前結點的至少一個地址名稱中是否存在與從所述當前字符開始的子字符串相匹配的地址名稱,如果是,則執行S6,否則,執行S4;
S4:判斷是否存在沒有與當前字符匹配過的且與當前結點對應同一個父結點的目標結點,如果是,則從所述目標結點中確定出下一個待處理的結點,將所述待處理的結點作為當前結點,返回S3,否則,執行S5;
S5:判斷當前字符是否是所述目標字符串的最后一個字符,如果是,則當存在至少一個匹配地址名稱時,根據所述至少一個匹配地址名稱,提取出所述至少一個匹配地址,結束當前流程,否則,將當前字符的下一個字符作為當前字符,返回S2;
S6:確定與從所述當前字符開始的子字符串相匹配的地址名稱中長度最長的匹配地址名稱,執行S7;
S7:判斷所述目標字符串中與所述匹配地址名稱相匹配的子字符串的最后一個字符是否是所述目標字符串的最后一個字符,如果是,則根據至少一個所述匹配地址名稱,提取出所述至少一個匹配地址,結束當前流程,否則,將與所述匹配地址名稱相匹配的子字符串的最后一個字符的下一個字符作為當前字符,執行步驟S8;
S8:判斷所述當前結點是否存在子結點,如果是,則執行S9,否則,返回S2;
S9:從所述當前結點的子結點中,確定出待處理的子結點,將所述待處理的子結點作為當前結點,返回S3。
2.根據權利要求1所述的方法,其特征在于,
所述地址樹中進一步包括至少一個跳躍指針,針對每個所述跳躍指針,當前跳躍指針由第一結點指向第二結點,所述第二結點為所述第一結點的孫子結點或孫子結點以下的結點;
在判斷出不存在沒有與當前字符匹配過的且與當前結點對應同一個父結點的目標結點時,在執行S5之前,進一步包括:
A1:判斷當前結點的父結點是否對應至少一個沒有與當前字符匹配過的跳躍指針,如果是,則從所述至少一個沒有與當前字符匹配過的跳躍指針指向的結點中,確定出下一個待處理的指針結點,并將所述待處理的指針結點作為當前結點,執行A2,否則,執行S5;
A2:判斷當前結點的至少一個地址名稱中是否存在與從所述當前字符開始的子字符串相匹配的地址名稱,如果是,則執行S6,否則,執行A3;
A3:判斷所述父結點對應的所述至少一個跳躍指針指向的結點中是否存在沒有與當前字符匹配過的指針結點,如果是,則從所述至少一個指針結點中確定出下一個待處理的指針結點,將所述待處理的指針結點作為當前結點,執行A2,否則,執行S5。
3.根據權利要求1所述的方法,其特征在于,
每個結點中進一步包括對應的地址單元的每個地址名稱的首字符以及每個地址名稱的長度;
所述S3,包括:
S31:判斷當前結點中的至少一個首字符中是否存在與當前字符相同的目標首字符,如果是,則執行S32,否則,執行S4;
S32:判斷所述目標首字符對應的至少一個地址名稱中是否存在沒有與當前字符對應的子字符串匹配過的地址名稱,如果是,則執行S33,否則,執行S4;
S33:從沒有與當前字符對應的子字符串匹配過的地址名稱中確定當前地址名稱,確定在所述目標字符串中從第C個字符開始到第C+L-1個字符結束的子字符串,判斷所述子字符串與所述當前地址名稱是否相同,如果是,則記錄當前地址名稱,返回S6,否則,返回S32;其中,第C個字符為當前字符,L為所述當前地址名稱的長度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮軟件股份有限公司,未經浪潮軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710982783.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:掃描食材圖片菜譜自動生成系統
- 下一篇:帶過流保護功能的墻壁開關





