2015-02-18 2 views
-1

У меня есть следующая строка:Как разбить строку с несколькими разделителями

var str = '15/17/*18/20/*22'; 

Как я могу разделить его так выполнив следующую строку:

var results = str.split(REGEX); 

Будет ли в конечном итоге дает следующие результаты:

result = ['/','/*','/','/*']; 

Спасибо!

+1

'var results = str.split (/ \ d + /);' – adeneo

+5

Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что не было сделано никаких попыток сделать что-то такое основное. –

+0

Он почти отлично работает, он дает пустые ячейки в начале и конце массива результатов. – Shvalb

ответ

2

Вы можете использовать split так:

var str = '15/17/*18/20/*22'; 
var m = str.split(/\d+/).filter(Boolean); 
//=> ["/", "/*", "/", "/*"] 

Или еще (благодаря @hwnd):

var m = str.split(/[^/*]+/).filter(Boolean); 
+0

Вам не нужен 'g' modifier =) – hwnd

+1

Да, это получило спасибо! – anubhava

+1

Просто смотреть. ('+ 1') – hwnd

0

код

x = '15/17/*18/20/*22' 
x.split(/[0-9][0-9]*/) 

результат

["", "/", "/*", "/", "/*", ""] 
Смежные вопросы