Actions
Bug #13621
closedString#split returns an array longer than given limit, when passing a regexp with groups
Bug #13621:
String#split returns an array longer than given limit, when passing a regexp with groups
Description
The String#split documentation(http://ruby-doc.org/core-2.4.1/String.html#method-i-split) described:
If pattern is a Regexp, str is divided where the pattern matches. Whenever the pattern matches a zero-length string, str is split into individual characters. If pattern contains groups, the respective matches will be returned in the array as well.
If limit is a positive number, at most that number of fields will be returned (if limit is 1, the entire string is returned as the only entry in an array).
However giving a regexp with groups, split can return fields more than a given limit:
'aBa'.split(/(B)()()/, 2) # => ["a", "B", "", "", "a"]
Shouldn't it be ["a", "B"]
?
Actions