如果我有一個字符串,該如何將它拆分爲一個單詞數組並過濾掉一些停用詞?我只想要長度爲2或更長的單詞。JavaScript中的Tokenize
如果我的字符串是
var text = "This is a short text about StackOverflow.";
我可以
var words = text.split(/\W+/);
但使用split(/\W+/)
拆呢,我得到的所有的話。我可以檢查的話有至少2的長度與
function validate(token) {
return /\w{2,}/.test(token);
}
,但我想我能做到這一點聰明/快與正則表達式。我也有一個數組var stopwords = ['has', 'have', ...]
這不應該在數組中允許。實際上,如果我能找到一種方法來過濾出停用詞,我可以將所有字母a,b,c,...,z添加到停用詞數組中,以僅接受至少包含2個字符的詞。
這可以很容易地使用數組和過濾器方法完成,你是否想用正則表達式來完成這一切? – juvian
我不認爲'text.split(/ \ W + /)。filter(validate)'有什麼問題。無需編寫過度複雜的正則表達式。 – Bergi
你可以用'text.split(/ \ W + | \ b \ w \ b /)'去除非單詞符號和長度小於1的所有單詞。 –