var string = "Let's say the user inputs hello world inputs inputs inputs";
我得到整个单词的输入是"put"
。
我的预期字词为"inputs"
有人可以分享您的解决方案吗? 提前致谢
答案 0 :(得分:2)
执行您要求的一种方法是将输入字符串拆分为标记,然后检查每个标记以查看它是否包含所需的子字符串。要消除重复项,请将单词存储在一个对象中,如果您是第一次看到它,则只将一个单词放入结果列表中。
function findUniqueWordsWithSubstring(text, sub) {
var words = text.split(' '),
resultHash = {},
result = [];
for (var i = 0; i < words.length; ++i) {
var word = words[i];
if (word.indexOf(sub) == -1) {
continue;
}
if (resultHash[word] === undefined) {
resultHash[word] = true;
result.push(word);
}
}
return result;
}
var input = 'put some putty on the computer output',
words = findUniqueWordsWithSubstring(input, 'put');
alert(words.join(', '));
答案 1 :(得分:0)
RegEx和过滤器以删除重复项;
var string = "I put putty on the computer. putty, PUT do I"
var uniques = {};
var result = (string.match(/\b\w*put\w*\b/ig) || []).filter(function(item) {
item = item.toLowerCase();
return uniques[item] ? false : (uniques[item] = true);
});
document.write( result.join(", ") );
// put, putty, computer