2016-12-14 118 views
-1

我正在通過autosuggest和solr實現搜索技術。如何通過忽略特殊字符匹配一個字符串

我得到一堆有特殊字符的匹配字符串。例如,如果我搜索

jp 

返回的字符串包括:

jp, 
j p , 
j.p., 
j.p. nag, 
j-p-naga 

需要特別提出的所有字符串包含「JP」忽略特殊字符。

預期的輸出,如:

「JP-納迦」 ---- 「JP」 應該突出({}跨度JP {/跨度} -naga

+0

到目前爲止你的代碼是什麼?你究竟想要突出什麼? (「所有字符串包含」忽略特殊字符的jp「)請通過編輯改進您的問題。閱讀https://stackoverflow.com/help/mcve –

+0

我的輸入字符串是「jp」。那麼輸出是: jp ---高亮應該是「jp」 j p ---高亮應該是「j p」 j.p .----高亮應該是「j.p.」 j.p.嘮叨----高亮應該是「j.p」 j-p-naga ---高亮顯示應該是「j-p」 –

+0

重申你不可理解的問題並不是一種澄清的方法。你需要找到一個更清晰的問題提問方式。再問一次並不是一種有效的技術。 – jwpfox

回答

0

你想消除特殊字符使用正常嗎?表情:

function removeSpecials(str) { 
    return str.replace(/[^a-zA-Z0-9]/g, ''); 
} 

console.log('jp' === removeSpecials('j .$#@p#@')); 
console.log('jp' === removeSpecials('j.p.,'); 
// Both true 

或者,也許你想檢查一個字符串包含後跟p字符j任何位置

function strHasJP(str) { return /[^j]*j[^p]*p.*/.test(str); } 

我不確定你在做什麼。有關RegExp的幫助,請點擊此處https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions