一種字符串輸入控制方法,及裝置制造方法
【專(zhuān)利摘要】一種字符串輸入控制方法,及裝置,其中方法的實(shí)現(xiàn)包括:接收輸入的第一字符串和第二字符串,所述第一字符串在所述第二字符串之前輸入;對(duì)所述第一字符串進(jìn)行識(shí)別,確定所述第一字符串中是否具有與所述第二字符串匹配的子字符串,若具有,則以塊狀標(biāo)識(shí)對(duì)所述子字符串進(jìn)行標(biāo)識(shí);在接收到選擇塊狀標(biāo)識(shí)的指令后,將光標(biāo)移動(dòng)到選擇的塊狀標(biāo)識(shí)對(duì)應(yīng)位置。用戶(hù)輸入第二字符串以后,可以自動(dòng)在第一字符串中匹配到第二字符串;也即是說(shuō),若用戶(hù)需要定位光標(biāo),只需要輸入需要定位的位置對(duì)應(yīng)的字符就可以實(shí)現(xiàn)自動(dòng)定位;并且定位采用的是塊狀方式進(jìn)行標(biāo)識(shí),用戶(hù)可以方便的將光標(biāo)移動(dòng)到想要的位置,因此可以提高修改錯(cuò)誤的效率。
【專(zhuān)利說(shuō)明】一種字符串輸入控制方法,及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種字符串輸入控制方法,及裝置。
【背景技術(shù)】
[0002] 在字符輸入過(guò)程中,用戶(hù)輸入一串字符串后,若發(fā)現(xiàn)已輸入字符串中間夾雜有少 數(shù)錯(cuò)誤,在用戶(hù)發(fā)現(xiàn)錯(cuò)誤以后需要進(jìn)行修改。在計(jì)算機(jī)【技術(shù)領(lǐng)域】,用戶(hù)輸入的字符串可以是 各種字符串,例如:英文、符號(hào)、漢字等。
[0003] 目前用戶(hù)在發(fā)現(xiàn)輸入的字符串出現(xiàn)錯(cuò)誤以后,需要將輸入光標(biāo)移動(dòng)到準(zhǔn)備修改的 精確位置,即:兩個(gè)字符之間的間隔處。由于字符串的各字符之間的間隔很小,不論用戶(hù)是 手指觸點(diǎn)選定還是使用back(回退)鍵刪除回退,都不易操作。所以用戶(hù)移動(dòng)光標(biāo)到想要 的位置會(huì)比較困難,修改輸入錯(cuò)誤效率低。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實(shí)施例提供了一種字符串輸入控制方法,及裝置,用于方便的將光標(biāo)移動(dòng) 到想要的位置,提高修改錯(cuò)誤的效率。
[0005] 本發(fā)明實(shí)施例一方面提供了一種字符串輸入控制方法,包括:
[0006] 接收輸入的第一字符串和第二字符串,所述第一字符串在所述第二字符串之前輸 入;
[0007] 對(duì)所述第一字符串進(jìn)行識(shí)別,確定所述第一字符串中是否具有與所述第二字符串 匹配的子字符串,若具有,則以塊狀標(biāo)識(shí)對(duì)所述子字符串進(jìn)行標(biāo)識(shí);
[0008] 在接收到選擇塊狀標(biāo)識(shí)的指令后,將光標(biāo)移動(dòng)到選擇的塊狀標(biāo)識(shí)對(duì)應(yīng)位置。
[0009] 結(jié)合一方面的實(shí)現(xiàn)方式,在第一種可能的實(shí)現(xiàn)方式中,所述接收輸入的第一字符 串和第二字符串包括:
[0010] 接收輸入的字符,并獲取當(dāng)前輸入的字符與所述當(dāng)前字符的前一字符之間的輸入 時(shí)間間隔,若所述輸入時(shí)間間隔大于預(yù)定閾值,則將所述當(dāng)前字符之前輸入的字符作為所 述第一字符串,將所述當(dāng)前字符以及后續(xù)輸入的字符作為所述第二字符串;或者,
[0011] 獲取輸入的字符,若輸入的字符出現(xiàn)空格字符,則將所述空格字符前輸入的字符 作為所述第一字符串,所述空格字符之后輸入的字符作為所述第二字符串。
[0012] 結(jié)合一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述輸入時(shí) 間間隔的所述預(yù)定閾值為800?1000毫秒。
[0013] 結(jié)合一方面的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述確定所述第一字符串 中是否具有與所述第二字符串匹配的子字符串包括:
[0014] 使用所述第二字符串對(duì)所述第一字符串進(jìn)行模糊模式匹配,若所述第一字符串中 存在連續(xù)字符與所述第二字符串具有相同的字符集、相同的長(zhǎng)度且同一字符出現(xiàn)次數(shù)相 同,則確定所述連續(xù)字符為所述第一字符串中的具有與所述第二字符串匹配的子字符串。
[0015] 結(jié)合一方面的實(shí)現(xiàn)方式、一方面的第一種、第二種或第三種可能的實(shí)現(xiàn)方式,在第 四種可能的實(shí)現(xiàn)方式中,在以塊狀標(biāo)識(shí)對(duì)所述子字符串進(jìn)行標(biāo)識(shí)之后,所述方法還包括:
[0016] 接收用戶(hù)輸入的替換指令,并根據(jù)所述替換指令將所述子字符串替換為所述第二 字符串。
[0017] 結(jié)合一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述接收用 戶(hù)輸入的替換指令,并根據(jù)所述替換指令將所述子字符串替換為所述第二字符串包括:若 用戶(hù)選擇所述塊狀標(biāo)識(shí)并且停留時(shí)間超過(guò)預(yù)定時(shí)間,且所述第二字符串與所述子字符串的 字符不同,則確定接收到用戶(hù)輸入了替換指令,并將所述子字符串替換為所述第二字符串。
[0018] 結(jié)合一方面的第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述將光標(biāo) 移動(dòng)到選擇的塊狀標(biāo)識(shí)對(duì)應(yīng)位置包括:
[0019] 將光標(biāo)移動(dòng)到被替換的所述子字符串之前。
[0020] 本發(fā)明實(shí)施例二方面提供了一種字符串輸入控制裝置,包括:
[0021] 字符接收單元,用于接收輸入的第一字符串和第二字符串,所述第一字符串在所 述第二字符串之前輸入;
[0022] 字符識(shí)別單元,用于對(duì)所述字符接收單元接收到的所述第一字符串進(jìn)行識(shí)別,確 定所述第一字符串中是否具有與所述第二字符串匹配的子字符串;
[0023] 字符標(biāo)識(shí)單元,用于若所述字符識(shí)別單元確定結(jié)果為是,則以塊狀標(biāo)識(shí)對(duì)所述子 字符串進(jìn)行標(biāo)識(shí);
[0024] 指令接收單元,用于接收選擇塊狀標(biāo)識(shí)的指令;
[0025] 光標(biāo)控制單元,用于在所述指令接收單元接收到所述選擇塊狀標(biāo)識(shí)的指令后,將 光標(biāo)移動(dòng)到選擇的塊狀標(biāo)識(shí)對(duì)應(yīng)位置。
[0026] 結(jié)合二方面的實(shí)現(xiàn)方式,在第一種可能的實(shí)現(xiàn)方式中,所述字符接收單元包括:字 符接收子單兀和字符串分段單兀;
[0027] 所述字符接收子單元,用于接收輸入的字符,并獲取當(dāng)前輸入的字符與所述當(dāng)前 字符的前一字符之間的輸入時(shí)間間隔;
[0028] 所述字符串分段單元,用于若字符接收子單元獲取到的所述輸入時(shí)間間隔大于預(yù) 定閾值,則將所述當(dāng)前字符之前輸入的字符作為所述第一字符串,將所述當(dāng)前字符以及后 續(xù)輸入的字符作為所述第二字符串;或者,若所述字符接收子單元接收的字符出現(xiàn)空格字 符,則將所述空格字符前輸入的字符作為所述第一字符串,所述空格字符之后輸入的字符 作為所述第二字符串。
[0029] 結(jié)合二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述字符串 分段單元,用于若字符接收子單元獲取到所述輸入時(shí)間間隔大于預(yù)定閾值,則將所述當(dāng)前 字符之前輸入的字符作為所述第一字符串,將所述當(dāng)前字符以及后續(xù)輸入的字符作為所述 第二字符串;所述預(yù)定閾值為800?1000毫秒。
[0030] 結(jié)合二方面的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述字符識(shí)別單元,用于使 用所述第二字符串對(duì)所述第一字符串進(jìn)行模糊模式匹配,若所述第一字符串中存在連續(xù)字 符與所述第二字符串具有相同的字符集、相同的長(zhǎng)度且同一字符出現(xiàn)次數(shù)相同,則確定所 述連續(xù)字符為所述第一字符串中的具有與所述第二字符串匹配的子字符串。
[0031] 結(jié)合二方面的實(shí)現(xiàn)方式、二方面的第一種、第二種或第三種可能的實(shí)現(xiàn)方式,在第 四種可能的實(shí)現(xiàn)方式中,所述指令接收單元,還用于接收用戶(hù)輸入的替換指令;
[0032] 所述字符串輸入控制裝置,還包括:替換控制單元,用于若所述指令接收單元接 收到用戶(hù)輸入的所述替換指令,則根據(jù)所述替換指令將所述子字符串替換為所述第二字符 串。
[0033] 結(jié)合二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述指令接 收單元,還用于確定用戶(hù)選擇所述塊狀標(biāo)識(shí)是否停留時(shí)間超過(guò)預(yù)定時(shí)間;
[0034] 所述替換控制單元,用于若所述指令接收單元確定用戶(hù)選擇所述塊狀標(biāo)識(shí)并且停 留時(shí)間超過(guò)預(yù)定時(shí)間,且所述第二字符串與所述子字符串的字符不同,則確定接收到用戶(hù) 輸入了替換指令,并將所述子字符串替換為所述第二字符串。
[0035] 結(jié)合二方面的第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述光標(biāo)控 制單元,用于若所述指令接收單元確定用戶(hù)選擇所述塊狀標(biāo)識(shí)并且停留時(shí)間超過(guò)預(yù)定時(shí) 間,則將光標(biāo)移動(dòng)到被替換的所述子字符串之前。
[0036] 從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):用戶(hù)輸入第二字符串以 后,可以自動(dòng)在第一字符串中匹配到第二字符串;也即是說(shuō),若用戶(hù)需要定位光標(biāo),只需要 輸入需要定位的位置對(duì)應(yīng)的字符就可以實(shí)現(xiàn)自動(dòng)定位;并且定位采用的是塊狀方式進(jìn)行標(biāo) 識(shí),用戶(hù)可以方便的將光標(biāo)移動(dòng)到想要的位置,因此可以提高修改錯(cuò)誤的效率。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0037] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)要介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本 領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其 他的附圖。
[0038] 圖1為本發(fā)明實(shí)施例方法流程示意圖;
[0039] 圖2為本發(fā)明實(shí)施例方法流程示意圖;
[0040] 圖3為本發(fā)明實(shí)施例字符串輸入控制裝置結(jié)構(gòu)示意圖;
[0041] 圖4為本發(fā)明實(shí)施例串輸入控制裝置結(jié)構(gòu)示意圖;
[0042] 圖5為本發(fā)明實(shí)施例串輸入控制裝置結(jié)構(gòu)示意圖;
[0043] 圖6為本發(fā)明實(shí)施例串輸入控制裝置結(jié)構(gòu)示意圖;
[0044] 圖7為本發(fā)明實(shí)施例手機(jī)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0045] 為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn) 一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部份實(shí)施例,而不是全部的實(shí)施 例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的 所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0046] 本發(fā)明實(shí)施例提供了一種字符串輸入控制方法,如圖1所示,包括:
[0047] 101 :接收輸入的第一字符串和第二字符串,上述第一字符串在上述第二字符串之 前輸入;
[0048] 第一字符串和第二字符串都是字符串,使用"第一"和"第二"僅是為了區(qū)分邏輯 上不同的兩個(gè)字符串,不應(yīng)理解為其它的限定意義。用戶(hù)在輸入字符的時(shí)候字符串長(zhǎng)度會(huì) 增加,字符串會(huì)分段,每一個(gè)字符串的分段可以認(rèn)為是一個(gè)獨(dú)立的字符串。本發(fā)明實(shí)施例給 出了字符串的分段方案中的兩個(gè)舉例,需要說(shuō)明的是字符串的分段方案可以有很多,以下 舉例不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限定,本發(fā)明實(shí)施例提供的字符串分段方案舉例如下: 可選地,上述接收輸入的第一字符串和第二字符串包括:接收輸入的字符,并獲取當(dāng)前輸入 的字符與上述當(dāng)前字符的前一字符之間的輸入時(shí)間間隔,若上述輸入時(shí)間間隔大于預(yù)定閾 值,則將上述當(dāng)前字符之前輸入的字符作為上述第一字符串,將上述當(dāng)前字符以及后續(xù)輸 入的字符作為上述第二字符串;或者,獲取輸入的字符,若輸入的字符出現(xiàn)空格字符,則將 上述空格字符前輸入的字符作為上述第一字符串,上述空格字符之后輸入的字符作為上述 第二字符串。
[0049] 一般來(lái)說(shuō),用戶(hù)發(fā)現(xiàn)輸入錯(cuò)誤的時(shí)候會(huì)習(xí)慣性的發(fā)生輸入停頓的現(xiàn)象,該方案正 是基于此來(lái)設(shè)計(jì)采用輸入時(shí)間間隔的方式來(lái)確定是否輸入錯(cuò)誤,這樣可以實(shí)現(xiàn)自動(dòng)檢測(cè)功 能,而不必用戶(hù)再輸入一個(gè)用于指示進(jìn)行分段或者指示輸入錯(cuò)誤的指令,從而節(jié)省修改時(shí) 間并提高輸入效率。另需說(shuō)明的是,以上分段的舉例中,使用空格字符來(lái)指示進(jìn)行字符串分 段,實(shí)際上還可以是任意其他默認(rèn)的指令,例如:兩次按shift鍵,或者ctrl+G這類(lèi)的組合 鍵,都是可以的,以上使用空格字符來(lái)指示進(jìn)行字符串的分段,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例 的唯一'丨生限定。
[0050] 對(duì)于使用輸入時(shí)間間隔來(lái)確定分段的方案,本發(fā)明實(shí)施例還給出了更為詳細(xì)的舉 例說(shuō)明,具體如下:可選地,上述預(yù)定閾值為800?1000毫秒。在本發(fā)明實(shí)施例中,可以記 錄輸入的每個(gè)字符的時(shí)間,并計(jì)算相鄰字符之間的輸入是時(shí)間間隔,并使用長(zhǎng)整型變量記 錄相鄰字符之間的輸入時(shí)間間隔,然后再通過(guò)上述長(zhǎng)整型變量與預(yù)定閾值進(jìn)行比較,確定 是否需要分段。需要說(shuō)明的是,記錄輸入時(shí)間使用的變量并不一定必須是長(zhǎng)整型的,還可以 是整型或者其他變量,只要能用于準(zhǔn)確記錄時(shí)間就可以;上述預(yù)定閾值是用來(lái)控制分段的 參考時(shí)間,本實(shí)施例給出了 800?1000毫秒的參考值,依據(jù)不同人的輸入習(xí)慣這個(gè)閾值可 能變化的,因此這個(gè)閾值也可以由用戶(hù)設(shè)定。
[0051] 102:對(duì)上述第一字符串進(jìn)行識(shí)別,確定上述第一字符串中是否具有與上述第二字 符串匹配的子字符串,若具有,則以塊狀標(biāo)識(shí)對(duì)上述子字符串進(jìn)行標(biāo)識(shí);
[0052] 本發(fā)明實(shí)施例中,子字符串與第二字符串匹配的規(guī)則可以依據(jù)不同的匹配算法 進(jìn)行設(shè)定,例如:子字符串與第二字符串完全相同,即:字符數(shù)相同、字符集相同、并且各字 符的順序也相同;也可以是子字符串與第二字符串的模糊匹配,即:字符數(shù)相同、字符集相 同、各字符的數(shù)量相同,各字符的順序不必相同。具體的匹配規(guī)則本發(fā)明實(shí)施例不作唯一性 限定。
[0053] 上述對(duì)第一字符串進(jìn)行識(shí)別的方案,可以參考字符識(shí)別的各種算法本發(fā)明實(shí)施例 對(duì)此不予限定。本發(fā)明實(shí)施例提供了另外一種在本發(fā)方案中的優(yōu)選實(shí)現(xiàn)方案,即:模糊模式 匹配的方案,具體如下:
[0054] 可選地,上述確定上述第一字符串中是否具有與上述第二字符串匹配的子字符串 包括:使用上述第二字符串對(duì)上述第一字符串進(jìn)行模糊模式匹配,若上述第一字符串中存 在連續(xù)字符與上述第二字符串具有相同的字符集、相同的長(zhǎng)度且同一字符出現(xiàn)次數(shù)相同, 則確定上述連續(xù)字符為上述第一字符串中的具有與上述第二字符串匹配的子字符串。
[0055] 使用以上模糊模式匹配的方案,用戶(hù)不必輸入與前次的錯(cuò)誤輸入完全相同的輸入 來(lái)確定前次輸入的錯(cuò)誤在哪兒,使定位更加便捷。另外,也為錯(cuò)誤的修改提供了便捷條件, 對(duì)此將會(huì)在后續(xù)實(shí)施例中有更詳細(xì)說(shuō)明。
[0056] 103 :在接收到選擇塊狀標(biāo)識(shí)的指令后,將光標(biāo)移動(dòng)到選擇的塊狀標(biāo)識(shí)對(duì)應(yīng)位置。
[0057] 以上實(shí)施例,用戶(hù)輸入第二字符串以后,可以自動(dòng)在第一字符串中匹配到第二字 符串;也即是說(shuō),若用戶(hù)需要定位光標(biāo),只需要輸入需要定位的位置對(duì)應(yīng)的字符就可以實(shí)現(xiàn) 自動(dòng)定位;并且定位采用的是塊狀方式進(jìn)行標(biāo)識(shí),用戶(hù)可以方便的將光標(biāo)移動(dòng)到想要的位 置,因此可以提高修改錯(cuò)誤的效率。
[0058] 基于本發(fā)明實(shí)施例采用的模糊模式匹配的方案,本發(fā)明實(shí)施例還進(jìn)一步提供了更 為優(yōu)選的修改錯(cuò)誤的可實(shí)現(xiàn)方案,具體如下:進(jìn)一步地,在以塊狀標(biāo)識(shí)對(duì)上述子字符串進(jìn)行 標(biāo)識(shí)之后,上述方法,還包括:接收用戶(hù)輸入的替換指令,并根據(jù)上述替換指令將上述子字 符串替換為上述第二字符串。以上方案,若用戶(hù)發(fā)現(xiàn)了輸入錯(cuò)誤,用戶(hù)只要輸入一次正確的 字符并選擇要修改的位置,就可以完成對(duì)輸入錯(cuò)誤的修改,可以進(jìn)一步提高錯(cuò)誤修改效率。
[0059] 在本發(fā)明實(shí)施例中,替換指令可以是顯式的也可以是隱含的,顯式的指令可以是 輸入的替換命令,隱含的則可以是某種預(yù)定義的操作方式,例如:可以是用戶(hù)選擇塊狀標(biāo)識(shí) 并且停留時(shí)間超過(guò)預(yù)定時(shí)間,則認(rèn)為用戶(hù)輸入了替換指令??蛇x地,上述接收用戶(hù)輸入的替 換指令,并根據(jù)上述替換指令將上述子字符串替換為上述第二字符串包括:若用戶(hù)選擇上 述塊狀標(biāo)識(shí)并且停留時(shí)間超過(guò)預(yù)定時(shí)間,且上述第二字符串與上述子字符串的字符不同, 則確定接收到用戶(hù)輸入了替換指令,并將上述子字符串替換為上述第二字符串。
[0060] 本實(shí)施例采用用戶(hù)選擇塊狀標(biāo)識(shí)并且停留時(shí)間超過(guò)預(yù)定時(shí)間來(lái)確定用戶(hù)需要進(jìn) 行字符替換,該方案可以與采用短點(diǎn)擊定位光標(biāo)的方案兼容。另外,本實(shí)施例方案,若用戶(hù) 發(fā)現(xiàn)了輸入錯(cuò)誤,用戶(hù)只要輸入一次正確的字符并選擇要修改的位置,就可以完成對(duì)輸入 錯(cuò)誤的修改,并且將光標(biāo)定位到錯(cuò)誤字符對(duì)應(yīng)的位置。另外,不僅通過(guò)一次輸入實(shí)現(xiàn)對(duì)錯(cuò)誤 修改,由于光標(biāo)已經(jīng)移動(dòng)到了錯(cuò)誤字符的對(duì)應(yīng)的位置,那么除了進(jìn)行錯(cuò)誤修改以外,還可以 對(duì)錯(cuò)誤位置進(jìn)行增加字符的操作而不必再次進(jìn)行字符定位。
[0061] 以上實(shí)施例給出的是有輸入錯(cuò)誤需要進(jìn)行替換的方案與光標(biāo)定位方案的舉例,本 發(fā)明實(shí)施例還提供了輸入錯(cuò)誤不需要進(jìn)行替換的情形下的方案,例如:僅需要增加字符而 不需替換字符的情形下的方案,具體如下:可選地,上述將光標(biāo)移動(dòng)到選擇的塊狀標(biāo)識(shí)對(duì)應(yīng) 位置包括:將光標(biāo)移動(dòng)到被替換的上述子字符串之前。以上方案,由于第二字符串與定位位 置的子字符串是相同的,因此不必進(jìn)行替換的操作,僅移動(dòng)光標(biāo)就可以了。
[0062] 以下實(shí)施例將就本發(fā)明實(shí)施例的方案進(jìn)行更詳細(xì)的舉例說(shuō)明。
[0063] 以下介紹以下實(shí)施例將會(huì)涉及到的幾個(gè)技術(shù)術(shù)語(yǔ)進(jìn)行介紹如下:
[0064] 一、模糊模式匹配:是指兩個(gè)字符串A和B的模糊模式匹配滿足如下三個(gè)條件:1、 A與B長(zhǎng)度相等,即具有相同個(gè)數(shù)的字符;2、A與B字符集(不區(qū)分大小寫(xiě))相等,即A中每 一個(gè)字符B中都有,且B中每一個(gè)字符A中也有;3、A與B中同一字符(不區(qū)分大小寫(xiě))出 現(xiàn)次數(shù)相同。例如:aabc與baca、aacb、Bcaa均匹配。
[0065] 二、字符串的邏輯分段。本實(shí)施例中采用根據(jù)用戶(hù)輸入時(shí)間間隔對(duì)已輸入字符串 進(jìn)行邏輯分段,具體方案如下:對(duì)一串輸入的字符串,探測(cè)前后相鄰兩個(gè)字符的輸入動(dòng)作之 間的時(shí)間間隔,如前一字符輸入的時(shí)刻與后一字符輸入的時(shí)刻之間的時(shí)間間隔大于預(yù)定閥 值(比如800毫秒或1000毫秒),則在這兩字符間對(duì)字符串邏輯分段,將前一個(gè)字符作為邏 輯上前一段的終點(diǎn),后一個(gè)字符作為邏輯上后一段的起點(diǎn)。
[0066] 例如:輸入字符串為ab,假如a的輸入時(shí)刻與b的輸入時(shí)刻間隔小于等于預(yù)定閥 值,則認(rèn)為ab是連續(xù)輸入;假如a的輸入時(shí)刻與b的輸入時(shí)刻間隔大于預(yù)定閥值,則認(rèn)為a 與b分屬兩個(gè)不同的輸入時(shí)間段,a屬于第一字符串,b屬于第二字符串?;诖耍脩?hù)輸 入的一整條字符串,可以按照位置連續(xù)的字符之間的輸入時(shí)間間隔,劃分為不同的字段。例 如:以連接符表示輸入間隔時(shí)間長(zhǎng)短:a-b-c-d--e-f-g一-h_i_j可按照輸入時(shí)間間隔在 邏輯上分為三段abed、efg、hi j,這將會(huì)有三個(gè)字符串的分段。
[0067] 上述邏輯分段可以體現(xiàn)在字符串外觀上,也可以只體現(xiàn)在代碼邏輯上。
[0068] 三.定位/糾錯(cuò)字符串:是指對(duì)用戶(hù)已輸入字符串根據(jù)輸入時(shí)間間隔進(jìn)行邏輯分 段后,處于用戶(hù)已輸入字符串中、按從頭到尾順序的最后一個(gè)邏輯分段。以連接符表示輸入 間隔時(shí)間長(zhǎng)短,舉例假設(shè)用戶(hù)輸入字符串為a-b-c-d--e-f-g--h_i_j,在邏輯上分為三 段:abc、efg、hi j,則hi j被識(shí)別為定位/糾錯(cuò)字符串,S卩:前述實(shí)施例所稱(chēng)的第二字符串。 定位/糾錯(cuò)字符串被按上述方式識(shí)別出來(lái),作用是在已輸入字符串中、利用模糊模式匹配 幫助用戶(hù)定位想要糾錯(cuò)的位置。
[0069] 本發(fā)明實(shí)施例提供的方法如圖2所示,包括如下步驟:
[0070] 201 :根據(jù)用戶(hù)輸入各字符的時(shí)間間隔對(duì)已輸入字符串進(jìn)行邏輯分段;
[0071] 進(jìn)行邏輯分段的具體的實(shí)現(xiàn)辦法可以如下:保存一個(gè)長(zhǎng)整型變量,在用戶(hù)每次輸 入字符時(shí),記錄當(dāng)前字符輸入的時(shí)間,如果等待下一個(gè)字符輸入的時(shí)間超過(guò)指定閥值(比 如800毫秒或1000毫秒),則認(rèn)為當(dāng)前字符是一段的結(jié)尾,以后再輸入的字符屬于下一段。
[0072] 202 :接收定位/糾錯(cuò)字符串;
[0073] 如用戶(hù)發(fā)現(xiàn)已輸入字符串中包含錯(cuò)誤,用戶(hù)會(huì)暫緩一個(gè)短暫時(shí)間(比如> =1000 毫秒),用戶(hù)發(fā)現(xiàn)錯(cuò)誤而暫停是一種輸入操作的自然反應(yīng)。這樣就可以無(wú)需挪動(dòng)光標(biāo),在已 輸入字符串尾部接著輸入一個(gè)字符串,這個(gè)字符串按照本發(fā)明實(shí)施例的定義將會(huì)被識(shí)別為 "定位/糾錯(cuò)字符串"。
[0074] 203 :在用戶(hù)輸入"定位/糾錯(cuò)字符串"的過(guò)程中,將"定位/糾錯(cuò)字符串"已輸入 部分與前面已輸入字符串進(jìn)行模糊模式匹配,將前面已輸入的字符串中的所有匹配的子字 符串用塊狀標(biāo)識(shí)標(biāo)出(例如采用半透明高亮色塊標(biāo)出);
[0075] 需要說(shuō)明的是,模糊模式匹配得到的塊狀標(biāo)識(shí)可以有一個(gè),或者一個(gè)以上,并不僅 限于僅有一個(gè)。
[0076] 204:在用戶(hù)停止輸入后,接收用戶(hù)從所有塊狀標(biāo)識(shí)中長(zhǎng)按選擇的塊狀標(biāo)識(shí)對(duì)應(yīng)的 子字符串;
[0077] 205 :使用"定位/糾錯(cuò)字符串"替換被選定的塊狀標(biāo)識(shí)對(duì)應(yīng)的子字符串,同時(shí)將光 標(biāo)跳至被替換掉的子字符串的前面。
[0078] 本發(fā)明實(shí)施例中,替換動(dòng)作使用長(zhǎng)按而不是短點(diǎn)擊,目的是為了使用戶(hù)能夠使用 短點(diǎn)擊的方法來(lái)點(diǎn)擊兩字符之間的線,把光標(biāo)移動(dòng)到這兩字符之間(也就是點(diǎn)擊位置),從 而使用戶(hù)既可以用"定位/糾錯(cuò)字符串"替換被選定塊的方法來(lái)糾錯(cuò),也可以用移動(dòng)光標(biāo)的 傳統(tǒng)方法來(lái)糾錯(cuò),從而實(shí)現(xiàn)技術(shù)兼容。
[0079] 本發(fā)明實(shí)施例,至少具有帶來(lái)了如下技術(shù)效果:
[0080] 1、選取用戶(hù)輸入的按時(shí)間間隔邏輯分段的最后一段作為"定位/糾錯(cuò)字符串"。這 一設(shè)計(jì)從兩方面符合用戶(hù)使用行為:第一、用戶(hù)發(fā)現(xiàn)輸錯(cuò)后會(huì)回頭檢查出錯(cuò)位置,自然地會(huì) 暫停當(dāng)前輸入,從而出現(xiàn)明顯的輸入時(shí)間間隔;第二、用戶(hù)最省力的操作是跟著當(dāng)前輸入的 末尾繼續(xù)輸入,因此以"尾段"作為"定位替換字符串"可方便用戶(hù)操作。
[0081] 2、在定位已輸入字符串出錯(cuò)位置后,出錯(cuò)段以塊狀標(biāo)識(shí)表示,相比用戶(hù)定位光標(biāo) 需要點(diǎn)擊兩字符之間的線,現(xiàn)在點(diǎn)擊塊狀標(biāo)識(shí),等于從選定線變成選定面,提高了操作簡(jiǎn)易 性。
[0082] 3、模式匹配算法是模糊模式匹配,只要求字符集(允許字符重復(fù))相同和長(zhǎng)度相 同,不要求字符順序完全一致。方便用戶(hù)輸入,特別是為倒序輸入類(lèi)的錯(cuò)誤修改提供了便 利。
[0083] 4、定位/糾錯(cuò)字符串有定位和替換的雙重作用。當(dāng)用戶(hù)點(diǎn)擊塊狀標(biāo)識(shí)來(lái)進(jìn)行子字 符串的替換時(shí),無(wú)需刪除舊有出錯(cuò)字符串,并再次輸入正確的字符串,減少輸入操作。
[0084] 5、當(dāng)用戶(hù)點(diǎn)擊塊狀標(biāo)識(shí)來(lái)進(jìn)行子字符串來(lái)進(jìn)行定位和替換時(shí),光標(biāo)跳到被點(diǎn)擊的 塊狀標(biāo)識(shí)的前面而非后面。這個(gè)細(xì)節(jié)設(shè)計(jì)主要是為了方便刪除字符,假如光標(biāo)跳到被點(diǎn)擊 的塊狀標(biāo)識(shí)的后面,那么不移動(dòng)光標(biāo)只能刪除塊狀標(biāo)識(shí)中的字符;假如光標(biāo)跳到被點(diǎn)擊的 塊狀標(biāo)識(shí)的前面,那么不移動(dòng)光標(biāo)只能刪除塊狀標(biāo)識(shí)前面的字符,而不影響被點(diǎn)擊的塊狀 標(biāo)識(shí)。
[0085] 基于本發(fā)明實(shí)施例的方案,本發(fā)明實(shí)施例給出了五個(gè)可能的應(yīng)用場(chǎng)景的舉例,具 體如下:
[0086] 一、改:設(shè)有已輸入字符串huaweizhongdaun auto,明顯duan中的ua寫(xiě)成了 au。
[0087] 在此種情況下執(zhí)行本發(fā)明實(shí)施例操作如下:
[0088] 1、用戶(hù)輸入間隔超過(guò)預(yù)定閥值后,在huaweizhongdaun auto尾部輸入ua。當(dāng)前輸 入框中顯牙
【權(quán)利要求】
1. 一種字符串輸入控制方法,其特征在于,包括: 接收輸入的第一字符串和第二字符串,所述第一字符串在所述第二字符串之前輸入; 對(duì)所述第一字符串進(jìn)行識(shí)別,確定所述第一字符串中是否具有與所述第二字符串匹配 的子字符串,若具有,則以塊狀標(biāo)識(shí)對(duì)所述子字符串進(jìn)行標(biāo)識(shí); 在接收到選擇塊狀標(biāo)識(shí)的指令后,將光標(biāo)移動(dòng)到選擇的塊狀標(biāo)識(shí)對(duì)應(yīng)位置。
2. 根據(jù)權(quán)利要求1所述方法,其特征在于,所述接收輸入的第一字符串和第二字符串 包括: 接收輸入的字符,并獲取當(dāng)前輸入的字符與所述當(dāng)前字符的前一字符之間的輸入時(shí)間 間隔,若所述輸入時(shí)間間隔大于預(yù)定閾值,則將所述當(dāng)前字符之前輸入的字符作為所述第 一字符串,將所述當(dāng)前字符以及后續(xù)輸入的字符作為所述第二字符串;或者, 獲取輸入的字符,若輸入的字符出現(xiàn)空格字符,則將所述空格字符前輸入的字符作為 所述第一字符串,所述空格字符之后輸入的字符作為所述第二字符串。
3. 根據(jù)權(quán)利要求2所述方法,其特征在于,所述輸入時(shí)間間隔的所述預(yù)定閾值為800? 1000毫秒。
4. 根據(jù)權(quán)利要求1所述方法,其特征在于,所述確定所述第一字符串中是否具有與所 述第二字符串匹配的子字符串包括: 使用所述第二字符串對(duì)所述第一字符串進(jìn)行模糊模式匹配,若所述第一字符串中存在 連續(xù)字符與所述第二字符串具有相同的字符集、相同的長(zhǎng)度且同一字符出現(xiàn)次數(shù)相同,則 確定所述連續(xù)字符為所述第一字符串中的具有與所述第二字符串匹配的子字符串。
5. 根據(jù)權(quán)利要求1至4任意一項(xiàng)所述方法,其特征在于,在以塊狀標(biāo)識(shí)對(duì)所述子字符串 進(jìn)行標(biāo)識(shí)之后,所述方法還包括: 接收用戶(hù)輸入的替換指令,并根據(jù)所述替換指令將所述子字符串替換為所述第二字符 串。
6. 根據(jù)權(quán)利要求5所述方法,其特征在于,所述接收用戶(hù)輸入的替換指令,并根據(jù)所述 替換指令將所述子字符串替換為所述第二字符串包括:若用戶(hù)選擇所述塊狀標(biāo)識(shí)并且停留 時(shí)間超過(guò)預(yù)定時(shí)間,且所述第二字符串與所述子字符串的字符不同,則確定接收到用戶(hù)輸 入了替換指令,并將所述子字符串替換為所述第二字符串。
7. 根據(jù)權(quán)利要求5所述方法,其特征在于,所述將光標(biāo)移動(dòng)到選擇的塊狀標(biāo)識(shí)對(duì)應(yīng)位 置包括: 將光標(biāo)移動(dòng)到被替換的所述子字符串之前。
8. -種字符串輸入控制裝置,其特征在于,包括: 字符接收單元,用于接收輸入的第一字符串和第二字符串,所述第一字符串在所述第 二字符串之前輸入; 字符識(shí)別單元,用于對(duì)所述字符接收單元接收到的所述第一字符串進(jìn)行識(shí)別,確定所 述第一字符串中是否具有與所述第二字符串匹配的子字符串; 字符標(biāo)識(shí)單元,用于若所述字符識(shí)別單元確定結(jié)果為是,則以塊狀標(biāo)識(shí)對(duì)所述子字符 串進(jìn)行標(biāo)識(shí); 指令接收單元,用于接收選擇塊狀標(biāo)識(shí)的指令; 光標(biāo)控制單元,用于在所述指令接收單元接收到所述選擇塊狀標(biāo)識(shí)的指令后,將光標(biāo) 移動(dòng)到選擇的塊狀標(biāo)識(shí)對(duì)應(yīng)位置。
9. 根據(jù)權(quán)利要求8所述字符串輸入控制裝置,其特征在于,所述字符接收單元包括:字 符接收子單兀和字符串分段單兀; 所述字符接收子單元,用于接收輸入的字符,并獲取當(dāng)前輸入的字符與所述當(dāng)前字符 的前一字符之間的輸入時(shí)間間隔; 所述字符串分段單元,用于若字符接收子單元獲取到的所述輸入時(shí)間間隔大于預(yù)定閾 值,則將所述當(dāng)前字符之前輸入的字符作為所述第一字符串,將所述當(dāng)前字符以及后續(xù)輸 入的字符作為所述第二字符串;或者,若所述字符接收子單元接收的字符出現(xiàn)空格字符,則 將所述空格字符前輸入的字符作為所述第一字符串,所述空格字符之后輸入的字符作為所 述第二字符串。
10. 根據(jù)權(quán)利要求9所述字符串輸入控制裝置,其特征在于, 所述字符串分段單元,用于若字符接收子單元獲取到所述輸入時(shí)間間隔大于預(yù)定閾 值,則將所述當(dāng)前字符之前輸入的字符作為所述第一字符串,將所述當(dāng)前字符以及后續(xù)輸 入的字符作為所述第二字符串;所述預(yù)定閾值為800?1000毫秒。
11. 根據(jù)權(quán)利要求8所述字符串輸入控制裝置,其特征在于, 所述字符識(shí)別單元,用于使用所述第二字符串對(duì)所述第一字符串進(jìn)行模糊模式匹配, 若所述第一字符串中存在連續(xù)字符與所述第二字符串具有相同的字符集、相同的長(zhǎng)度且同 一字符出現(xiàn)次數(shù)相同,則確定所述連續(xù)字符為所述第一字符串中的具有與所述第二字符串 匹配的子字符串。
12. 根據(jù)權(quán)利要求8至11任意一項(xiàng)所述字符串輸入控制裝置,其特征在于,所述指令接 收單元,還用于接收用戶(hù)輸入的替換指令; 所述字符串輸入控制裝置,還包括:替換控制單元,用于若所述指令接收單元接收到用 戶(hù)輸入的所述替換指令,則根據(jù)所述替換指令將所述子字符串替換為所述第二字符串。
13. 根據(jù)權(quán)利要求12所述字符串輸入控制裝置,其特征在于, 所述指令接收單元,還用于確定用戶(hù)選擇所述塊狀標(biāo)識(shí)是否停留時(shí)間超過(guò)預(yù)定時(shí)間; 所述替換控制單元,用于若所述指令接收單元確定用戶(hù)選擇所述塊狀標(biāo)識(shí)并且停留時(shí) 間超過(guò)預(yù)定時(shí)間,且所述第二字符串與所述子字符串的字符不同,則確定接收到用戶(hù)輸入 了替換指令,并將所述子字符串替換為所述第二字符串。
14. 根據(jù)權(quán)利要求12所述字符串輸入控制裝置,其特征在于, 所述光標(biāo)控制單元,用于若所述指令接收單元確定用戶(hù)選擇所述塊狀標(biāo)識(shí)并且停留時(shí) 間超過(guò)預(yù)定時(shí)間,則將光標(biāo)移動(dòng)到被替換的所述子字符串之前。
【文檔編號(hào)】G06F3/023GK104246663SQ201380015027
【公開(kāi)日】2014年12月24日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】余亮 申請(qǐng)人:華為終端有限公司