我想根據用戶輸入列出給定字符串中的所有trigrams(3字母單詞)。用戶可以輸入1,2或3個字符。我寫了下面的代碼:在JavaScript中列出trigrams
if (3 == trigram.length) {
var re = new RegExp(trigram);
} else if (2 == trigram.length) {
trigram = trigram + '\\S|\\S' + trigram;
var re = new RegExp(trigram);
} else if (1 == trigram.length) {
trigram = trigram + '\\S\\S|\\S\\S' + trigram + '|\\S' + trigram + '\\S';
var re = new RegExp(trigram);
} else {
alert("Trigram search pattern can be either one, two or three characters!");
return null;
}
var re = new RegExp(trigram, "ig"); alert(re);
trigramList = givenString.match(re);
這只是工作的罰款,如果我有我的字符串「KDSGKHAGSKH」字符以下順序和我正在尋找由「A」我的代碼僅返回「KHA」卦在那裏我期待它返回{KHA,HAG,AGS}
嗨stereofrog,這是非常簡單和作品的n'grams。有沒有辦法改變我的代碼工作? – Srujan 2010-12-09 11:04:39
我試圖使用你的方法,它工作正常。當我編輯只列出包含(A-Z)的單詞時,它不會列出n = 2格式爲「CC」的單詞。然而,它適用於n = 3,並列出了格式爲「CCC」的字符串。 – Srujan 2010-12-11 18:18:47