Я озадачен тем, почему вы хотите делать что-то чисто со строковыми функциями, но я думаю, вы могли бы сделать что-то вроде следующего:
//str - the string
//c - the character or string to search for
//n - which occurrence
//fromStart - if true, go from beginning to the occurrence; else go from the occurrence to the end of the string
var cut = function (str, c, n, fromStart) {
var strCopy = str.slice(); //make a copy of the string
var index;
while (n > 1) {
index = strCopy.indexOf(c)
strCopy = strCopy.substring(0, index)
n--;
}
if (fromStart) {
return str.substring(0, index);
} else {
return str.substring(index+1, str.length);
}
}
Однако я бы настоятельно рекомендовал что-то вроде гораздо более простого кода Алекса.