str.rsplit([sep [, maxsplit]])
Вернуть a список слов в строке, используя sep в качестве разделительной строки. Если maxsplit дается, максимум maxsplit разбиты, самые правые. Если sep не указан или None, любой Пробельная строка - это разделитель. За исключением расщепления справа, rsplit() ведет себя как split(), который подробно описан ниже.
JavaScript-эквивалент Python rsplit
Ответ 1
String.prototype.rsplit = function(sep, maxsplit) {
var split = this.split(sep);
return maxsplit ? [ split.slice(0, -maxsplit).join(sep) ].concat(split.slice(-maxsplit)) : split;
}
Эта функция более тесно связана с версией Python
"blah, derp, blah, beep".rsplit( ",", 1)//['blah, derp, blah', 'beep']
Ответ 2
Вы также можете использовать функции JS String split + slice
Python:
'a,b,c'.rsplit(',' -1)[0]
даст вам 'a,b'
JavaScript:
'a,b,c'.split(',').slice(0, -1).join(',')
также даст вам 'a,b'
Ответ 3
Предполагая, что семантика разделения JavaScript приемлема, используйте следующее
String.prototype.rsplit = function (delimiter, limit) {
delimiter = this.split (delimiter || /s+/);
return limit ? delimiter.splice (-limit) : delimiter;
}