JavaScript中Python的rsplit等价方法
str.rsplit([sep[, maxsplit]])
这个方法会把字符串中的单词分开,使用sep作为分隔符。如果你给了maxsplit参数,那么最多只会进行maxsplit次分割,而且是从右边开始分割。如果没有指定sep或者sep是None,那么任何空白字符(比如空格、制表符等)都会被当作分隔符。除了从右边分割,rsplit()的功能和split()是一样的,后者的详细说明在下面。
4 个回答
2
假设你能理解JavaScript中split的用法,可以使用下面的代码
String.prototype.rsplit = function (delimiter, limit) {
delimiter = this.split (delimiter || /s+/);
return limit ? delimiter.splice (-limit) : delimiter;
}
8
你还可以使用JavaScript的字符串函数split和slice来处理字符串。
在Python中:
'a,b,c'.rsplit(',' -1)[0]
这个代码会返回 'a,b'
。
在JavaScript中:
'a,b,c'.split(',').slice(0, -1).join(',')
这个代码同样会返回 'a,b'
。
19
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' ]