使用给定字符串的一部分获取完整字符串

时间:2014-11-21 11:54:30

标签: javascript

var string = "Let's say the user inputs hello world inputs inputs inputs";

我得到整个单词的输入是"put"

我的预期字词为"inputs"

有人可以分享您的解决方案吗? 提前致谢

2 个答案:

答案 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