Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   необходимо написать функцию поиска всех слов в строке, не содержащих подстроку (https://javascript.ru/forum/misc/40971-neobkhodimo-napisat-funkciyu-poiska-vsekh-slov-v-stroke-ne-soderzhashhikh-podstroku.html)

AlexKotov 26.08.2013 18:27

необходимо написать функцию поиска всех слов в строке, не содержащих подстроку
 
Подходящие слова необходимо записать в массив.
Подстрока может состоять из любого количества букв.

рони 26.08.2013 19:23

AlexKotov,
код ваших попыток где?

Demath 26.08.2013 19:35

Цитата:

Сообщение от AlexKotov
необходимо написать функцию поиска всех слов в строке, не содержащих подстроку

Подходящие слова необходимо записать в массив.
Подстрока может состоять из любого количества букв.

Очень неопределённая постановка задачи.

Пример приведите - "Вход" и "Выход".

AlexKotov 26.08.2013 20:58

Вот мой код для похожей задачи, где в выходной массив нужно выписать все слова, содержащие подстроку.
Но он мне мало помогает понять, как надо решить текущую задачу.

var wordsContains = function(str, sub) {
if( (arguments.length == 0) || (arguments.length == 1) || (arguments.length > 2) ) return str;
var pattern = '\\w*' + sub + '\\w*';
var reg = new RegExp(pattern, 'gi');
return str.match(reg);
};

console.log( wordsContains('Hello!hello!olo!world', 'o') );

Выход: ["Hello", "hello", "olo", "world"]

рони 26.08.2013 21:39

AlexKotov,
:-?
var wordsContains = function(str, sub) {
   var separator = '[а-яёa-z]';
   var pattern = separator + '*' + sub + separator + '*';
   var reg = new RegExp(pattern, 'gi');
   var arr = str.replace(reg, '')
   reg = new RegExp(separator+ '+', 'gi');
   arr = arr.match(reg)||[]
   return arr

 }
 alert(wordsContains('Привет! Hello!hello!olo!world  qwerty', 'o'));

AlexKotov 27.08.2013 15:59

Спасибо!


Часовой пояс GMT +3, время: 01:39.