2016-03-09 2 views
-2

Я пытаюсь разделить следующую строку:Разделить строку на массив на основе разделителей, используя Regex?

s = "Whyy noot this thing? Noot!" 

в массив, используя следующие разделители:

delimiters = [ 
    ' ', 
    '?', 
    '!' 
]; 

Я считаю, что я могу использовать этот тип выражения:

var array = string.split(); 

и что я могу использовать RegEx.

Но я не знаю, что писать между круглыми скобками в split().

+0

Как говорится в документации для 'split', вы помещаете регулярное выражение, которое соответствует тому, что вы хотите использовать в качестве разделителя. Если вы хотите использовать две вещи в качестве разделителя, другими словами, чтобы иметь регулярное выражение, которое соответствует любой из двух вещей, то, как говорит документация для regexp, вы используете оператор чередования ('|') или класс символов ('[ ] '). Где у вас была проблема? –

ответ

0

Для достижения этой цели вы можете использовать RegExp.

var str = "Whyy noot this thing? Noot!"; 
var arr = str.split(/[\s\?!]+/); 
+1

Не нужно скрывать '?'. –

+0

Согласно http://regexr.com/ не нужно. Это мое правило всегда избегает специальных символов в RegExp. – jherax

+0

Не могли бы вы изменить свой ответ, чтобы/[\ s \ ?!] +/был установлен в разделителя переменных с комментариями, показывающими, какие символы представляют?,! и пробел, а затем передать это в метод разделения. – user1283776