. Легкий способ сделать это - обработать каждый символ строки с каждым разделителем и построить массив разделов:
blockquote>splix = function () { u = [].slice.call(arguments); v = u.slice(1); u = u[0]; w = [u]; x = 0; for (i = 0; i < u.length; ++i) { for (j = 0; j < v.length; ++j) { if (u.slice(i, i + v[j].length) == v[j]) { y = w[x].split(v[j]); w[x] = y[0]; w[++x] = y[1]; }; }; }; return w; };
console.logg = function () { document.body.innerHTML += "<br>" + [].slice.call(arguments).join(); } splix = function() { u = [].slice.call(arguments); v = u.slice(1); u = u[0]; w = [u]; x = 0; console.logg("Processing: <code>" + JSON.stringify(w) + "</code>"); for (i = 0; i < u.length; ++i) { for (j = 0; j < v.length; ++j) { console.logg("Processing: <code>[\x22" + u.slice(i, i + v[j].length) + "\x22, \x22" + v[j] + "\x22]</code>"); if (u.slice(i, i + v[j].length) == v[j]) { y = w[x].split(v[j]); w[x] = y[0]; w[++x] = y[1]; console.logg("Currently processed: " + JSON.stringify(w) + "\n"); }; }; }; console.logg("Return: <code>" + JSON.stringify(w) + "</code>"); }; setTimeout(function() { console.clear(); splix("1.23--4", ".", "--"); }, 250);
@import url("http://fonts.googleapis.com/css?family=Roboto"); body {font: 20px Roboto;}
Использование:
splix(string, delimiters...)
Пример:
splix("1.23--4", ".", "--")
Возвраты:
blockquote>["1", "23", "4"]