The limit parameter controls the number of times the pattern is applied and therefore affects the length of the resulting array. If the limit n is greater than 0, the pattern will be applied up to n-1 times, the length of the array will not be greater than N, and the last item of the array will contain all inputs that exceed the last matching delimiter. If n is not positive, then the pattern will be applied as many times as possible, and the array can be any length. If n is 0, then the pattern will be applied as many times as possible, the array can be any length, and the trailing empty string will be discarded.
For example, the string "Boo:and:foo" uses these parameters to produce the following results:
Regex Limit Results
: 2 {"Boo", "And:foo"}
: 5 {"Boo", "and", "foo"}
:-2 {"Boo", "and", "foo"}
o 5 {"B", "", ": And:f", "", ""}
o-2 {"B", "", ": And:f", "", ""}
o 0 {"B", "", ": And:f"}
Split (string regex, int limit) method for string in Java