Javascript相当于Python的rsplit

时间:2011-03-05 06:14:12

标签: javascript python string split

  

str.rsplit([sep [,maxsplit]])

     

返回a   使用的字符串中的单词列表   sep作为分隔符字符串。如果   给出maxsplit,最多是maxsplit   分裂完成,最右边的分裂。   如果未指定sep或None,则为any   空格字符串是一个分隔符。   除了从右边分裂,   rsplit()的行为类似于split()   详细描述如下。

http://docs.python.org/library/stdtypes.html#str.rsplit

3 个答案:

答案 0 :(得分:12)

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']

答案 1 :(得分:3)

您还可以使用JS字符串函数拆分 + 切片

的Python:

'a,b,c'.rsplit(',' -1)[0]会给你'a,b'

使用Javascript:

'a,b,c'.split(',').slice(0, -1).join(',')也会给你'a,b'

答案 2 :(得分:2)

使用以下

确定JavaScript拆分的语义是可以接受的
String.prototype.rsplit = function (delimiter, limit) {
  delimiter = this.split (delimiter || /s+/);
  return limit ? delimiter.splice (-limit) : delimiter;
}