Один из способов сделать то, что вы просите, - разбить входную строку на токены, а затем проверить каждую из них, чтобы увидеть, содержит ли она нужную подстроку. Чтобы устранить дубликаты, сохраните слова в объекте и просто поместите слово в список результатов, если вы видите его впервые.
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(', '));
Кто-то, конечно, * может *, но если вы сделаете какие-то усилия сами, мы не будем. –
Что делать, если вход «Я помещал шпатлевку на компьютер»? Должны ли быть результатом ["put", "putty", "computer"]? –
@MichaelLaszlo - это одно блестяще спроектированное предложение. –