Используйте .split() для каждых x слов

#javascript #node.js

#javascript #node.js

Вопрос:

У меня уже давно был этот вопрос, и я задавался вопросом, можно ли было бы использовать этот .split() метод для разделения строки на каждое x слово. Например, если бы у меня была строка saying I am coming for you world! , я бы хотел разделить ее так, чтобы каждые 2 слова создавали элемент, в результате чего получался массив: ['I am', 'coming for', 'you world!'] .

Ответ №1:

Вы можете .match использовать не пробелы, за которыми следует пробел, а затем не пробелы:

 console.log(
  'I am coming for you world!'
    .match(/S   S /g)
); 

Если бы вам пришлось использовать .split , и .split в одиночку, без дальнейшей обработки, это едва ли возможно, если искать ровно 1, или 3, или 5 (и т.д.) пробелов между соответствующим пробелом и началом строки (но я бы не рекомендовал этот подход):

 console.log(
  'I am coming for you world!'
    .split(/(?<=^S  S (?: S   S )*) /)
);