本發(fā)明屬于移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種精確尋找手機(jī)聯(lián)系人的方法及裝置。
背景技術(shù):
傳統(tǒng)的智能終端設(shè)備,如手機(jī)等一般都可以直接通過通訊錄來查找聯(lián)系人的相關(guān)信息,然后進(jìn)行撥打電話或者發(fā)短信等行為。通常的,在手機(jī)端進(jìn)行查找聯(lián)系人的時(shí)候的方式都是,通過在智能終端輸入相對應(yīng)的名稱,然后智能終端通過用戶輸入的字符信息匹配聯(lián)系人的信息。
隨著科技的發(fā)展,手機(jī)的功能也越來越多,在現(xiàn)在手機(jī)中的智能聊天中,經(jīng)常會(huì)出現(xiàn)說一句話就打電話給某個(gè)人的情況,但是現(xiàn)有技術(shù)不能夠很好的從一句話中分析出手機(jī)通訊錄中的聯(lián)系人,會(huì)出現(xiàn)找到的聯(lián)系人與我想要的聯(lián)系人不相同的問題;比如,幫我打電話給張三豐那個(gè)人。而通信錄中存了張,張三和張三豐,可能會(huì)出現(xiàn)找不到或者找到的是張或張三等信息,因此,解決從一句話中準(zhǔn)確的分析出手機(jī)通訊錄中的聯(lián)系人成為本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的之一在于提供一種精確尋找手機(jī)聯(lián)系人的方法,其能準(zhǔn)確找到通訊錄中的聯(lián)系人的信息。
本發(fā)明的目的之二在于提供一種精確尋找手機(jī)聯(lián)系人的方法,其能準(zhǔn)確找到通訊錄中的聯(lián)系人的信息。
本發(fā)明的目的之一采用以下技術(shù)方案實(shí)現(xiàn):
一種精確尋找手機(jī)聯(lián)系人的方法,包括以下步驟:
S1:接收用戶輸入的語句;
S2:將該語句以兩個(gè)字符為一組的方式拆分為多個(gè)字符組,并對通訊錄內(nèi)的名稱信息與所得字符組進(jìn)行模糊匹配;
S3:判斷是否匹配成功,如果匹配成功,則執(zhí)行步驟S4;如果匹配失敗,則執(zhí)行步驟S5;
S4:將所有匹配成功的名稱信息返回至該語句中進(jìn)行語句匹配,并對語句匹配成功的名稱信息進(jìn)行顯示;
S5:將該語句拆分為多個(gè)字符,并對通訊錄內(nèi)的名稱信息與所得字符進(jìn)行模糊匹配;
S6:對所有模糊匹配得到的名稱信息進(jìn)行顯示。
優(yōu)選地,在步驟S1與步驟S2之間還包括以下步驟:
步驟S11:將接收到的語句從全角狀態(tài)轉(zhuǎn)換為半角狀態(tài);
S12:獲取通訊錄中的名稱信息,并將名稱信息轉(zhuǎn)換為半角狀態(tài)。能夠進(jìn)一步提高后期匹配的準(zhǔn)確性。
優(yōu)選地,步驟S2和步驟S5中的模糊匹配的方式為NSPredicate。能夠進(jìn)一步公開模糊匹配的方式。
本發(fā)明的目的之二采用以下技術(shù)方案實(shí)現(xiàn):
一種精確尋找手機(jī)聯(lián)系人的裝置,包括以下模塊:
接收模塊:接收用戶輸入的語句;
第一拆分匹配模塊:將該語句以兩個(gè)字符為一組的方式拆分為多個(gè)字符組,并對通訊錄內(nèi)的名稱信息與所得字符組進(jìn)行模糊匹配;
判斷模塊:判斷是否匹配成功,如果匹配成功,則執(zhí)行語句匹配模塊;如果匹配失敗,則執(zhí)行第二拆分匹配模塊;
語句匹配模塊:將所有匹配成功的名稱信息返回至該語句中進(jìn)行語句匹配,并對語句匹配成功的名稱信息進(jìn)行顯示;
第二拆分匹配模塊:將該語句拆分為多個(gè)字符,并對通訊錄內(nèi)的名稱信息與所得字符進(jìn)行模糊匹配;
顯示模塊:對所有模糊匹配得到的名稱信息進(jìn)行顯示。
優(yōu)選地,在接收模塊和第一拆分匹配模塊之間還包括以下模塊:
第一狀態(tài)轉(zhuǎn)換模塊:將接收到的語句從全角狀態(tài)轉(zhuǎn)換為半角狀態(tài);
第二狀態(tài)轉(zhuǎn)換模塊:獲取通訊錄中的名稱信息,并將名稱信息轉(zhuǎn)換為半角狀態(tài)。能夠進(jìn)一步提高后期匹配的準(zhǔn)確性。
優(yōu)選地,在第一拆分匹配模塊和第二拆分匹配模塊中的模塊匹配的方式為NSPredicate。能夠進(jìn)一步公開模糊匹配的方式。
相比現(xiàn)有技術(shù),本發(fā)明的有益效果在于:
本發(fā)明通過設(shè)置的判斷條件能夠通過一句話準(zhǔn)確的分析出手機(jī)通訊錄中的聯(lián)系人,從而提高聯(lián)系人信息的查詢效率。
附圖說明
圖1為本發(fā)明一種精確尋找手機(jī)聯(lián)系人的方法的流程圖;
圖2為本發(fā)明一種精確尋找手機(jī)聯(lián)系人的裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面,結(jié)合附圖以及具體實(shí)施方式,對本發(fā)明做進(jìn)一步描述:
如圖1所示,本發(fā)明提供了一種精確尋找手機(jī)聯(lián)系人的方法,包括以下步驟:
S1:接收用戶輸入的語句;
S11:將接收到的語句從全角狀態(tài)轉(zhuǎn)換為半角狀態(tài);
S12:獲取通訊錄中的名稱信息,并將名稱信息轉(zhuǎn)換為半角狀態(tài)。全角狀態(tài)轉(zhuǎn)換為半角狀態(tài)的目的是為了能夠使得其能匹配所有的英文名字而不必在意輸入英文名稱時(shí)的大小寫狀態(tài),例如當(dāng)用戶輸入Jack的時(shí)候,通過步驟S11能夠?qū)⑤斎胝Z句統(tǒng)一轉(zhuǎn)換為jack,通過步驟S12能夠?qū)@得的通訊錄中的名字信息轉(zhuǎn)換為半角狀態(tài),然后再進(jìn)行后期匹配,這樣使得匹配的準(zhǔn)確性大大提高;
S2:將該語句以兩個(gè)字符為一組的方式拆分為多個(gè)字符組,并對通訊錄內(nèi)的名稱信息與所得字符組進(jìn)行模糊匹配;所述模塊匹配的方式為NSPredicate;在此步驟中,是將一句話拆分為多個(gè)字符組,例如:輸入的語句為“我想打電話給張三”,通過拆分分為:我想、想打、打個(gè)、個(gè)電、電話、話給、給張、張三,這些字符組,然后通過通訊錄對這些字符組進(jìn)行模糊匹配;
S3:判斷是否匹配成功,如果匹配成功,則執(zhí)行步驟S4;如果匹配失敗,則執(zhí)行步驟S5;
S4:將所有匹配成功的名稱信息返回至該語句中進(jìn)行語句匹配,并對語句匹配成功的名稱信息進(jìn)行顯示;這一步的目的是為了防止匹配到的名稱信息不是自己想要的那個(gè)名稱信息,例如在通訊錄里存在張、張三和張三豐三個(gè)相似的名稱信息,此時(shí)想要打電話給張三,通過模糊匹配,可以匹配到張三和張三豐兩組名稱信息,因?yàn)椴恍枰獜埲S的信息,所以,需要再對得到的名稱信息進(jìn)行語句匹配,將張三和張三豐放入到輸入的語句中進(jìn)行語句的匹配,經(jīng)過匹配后,發(fā)現(xiàn)只有張三符合匹配,因此只會(huì)出現(xiàn)張三的名稱信息,而不會(huì)出現(xiàn)張三豐,這樣防止出現(xiàn)想要打電話給張三,找出的卻是張三豐;
S5:將該語句拆分為多個(gè)字符,并對通訊錄內(nèi)的名稱信息與所得字符進(jìn)行模糊匹配;所述模塊匹配的方式為NSPredicate;NSPredicate即是謂詞邏輯,和數(shù)據(jù)庫的SQL語句具有相似性,都是從數(shù)據(jù)堆中根據(jù)條件來進(jìn)行篩選,可以對兩個(gè)數(shù)組中出現(xiàn)的相同的信息進(jìn)行匹配,此步驟目的是在S2中找不到對應(yīng)的信息后,才進(jìn)行的,在此步驟中,將“我想打電話給張三”拆分為我、想、打、電、話、給、張、三,然后不停的模糊匹配,直至將所有匹配得到的名稱信息都找到;
S6:對所有模糊匹配得到的名稱信息進(jìn)行顯示,將步驟S5中模糊匹配得到的信息都找到后,將所有匹配到的信息在手機(jī)的顯示屏處進(jìn)行顯示,然后供用戶進(jìn)行選擇。
如圖2所示,本發(fā)明還提供了一種精確尋找手機(jī)聯(lián)系人的裝置,包括以下模塊:
接收模塊:接收用戶輸入的語句;
第一狀態(tài)轉(zhuǎn)換模塊:將接收到的語句從全角狀態(tài)轉(zhuǎn)換為半角狀態(tài);
第二狀態(tài)轉(zhuǎn)換模塊:獲取通訊錄中的名稱信息,并將名稱信息轉(zhuǎn)換為半角狀態(tài);
第一拆分匹配模塊:將該語句以兩個(gè)字符為一組的方式拆分為多個(gè)字符組,并對通訊錄內(nèi)的名稱信息與所得字符組進(jìn)行模糊匹配;所述模塊匹配的方式為NSPredicate;
判斷模塊:判斷是否匹配成功,如果匹配成功,則執(zhí)行語句匹配模塊;如果匹配失敗,則執(zhí)行第二拆分匹配模塊;
語句匹配模塊:將所有匹配成功的名稱信息返回至該語句中進(jìn)行語句匹配,并對語句匹配成功的名稱信息進(jìn)行顯示;
第二拆分匹配模塊:將該語句拆分為多個(gè)字符,并對通訊錄內(nèi)的名稱信息與所得字符進(jìn)行模糊匹配;所述模塊匹配的方式為NSPredicate;
顯示模塊:對所有模糊匹配得到的名稱信息進(jìn)行顯示。
對本領(lǐng)域的技術(shù)人員來說,可根據(jù)以上描述的技術(shù)方案以及構(gòu)思,做出其它各種相應(yīng)的改變以及形變,而所有的這些改變以及形變都應(yīng)該屬于本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。