You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Loic Guibert <lf...@yahoo.fr> on 2015/04/30 10:08:19 UTC

[LANG] Adding StringUtils split by length methods

Hello,
I've implemented 2 methods to split a String by fixed lengths :
  - public static String[] splitByLength(String str, int ... lengths)
  - public static String[] splitByLengthRepeatedly(String str, int ...
lengths)

I'll open a JIRA ticket and an associated Pull Request to add those
methods in StringUtils.


There is detail :

    /**
     * <p>Split a String into an array, using an array of fixed string
lengths.</p>
     *
     * <p>If not null String input, the returned array size is same as
the input lengths array.</p>
     *
     * <p>A null input String returns {@code null}.
     * A {@code null} or empty input lengths array returns an empty array.
     * A {@code 0} in the input lengths array results in en empty
string.</p>
     *
     * <p>Extra characters are ignored (ie String length greater than
sum of split lengths).
     * All empty substrings other than zero length requested, are
returned {@code null}.</p>
     *
     * <pre>
     * StringUtils.splitByLength(null, *)      = null
     * StringUtils.splitByLength("abc")        = []
     * StringUtils.splitByLength("abc", null)  = []
     * StringUtils.splitByLength("abc", [])    = []
     * StringUtils.splitByLength("", 2, 4, 1)  = [null, null, null]
     *
     * StringUtils.splitByLength("abcdefg", 2, 4, 1)     = ["ab",
"cdef", "g"]
     * StringUtils.splitByLength("abcdefghij", 2, 4, 1)  = ["ab",
"cdef", "g"]
     * StringUtils.splitByLength("abcdefg", 2, 4, 5)     = ["ab",
"cdef", "g"]
     * StringUtils.splitByLength("abcdef", 2, 4, 1)      = ["ab",
"cdef", null]
     *
     * StringUtils.splitByLength(" abcdef", 2, 4, 1)     = [" a",
"bcde", "f"]
     * StringUtils.splitByLength("abcdef ", 2, 4, 1)     = ["ab",
"cdef", " "]
     * StringUtils.splitByLength("abcdefg", 2, 4, 0, 1)  = ["ab",
"cdef", "", "g"]
     * StringUtils.splitByLength("abcdefg", -1)          = {@link
IllegalArgumentException}
     * </pre>
     *
     * @param str  the String to parse, may be null
     * @param lengths  the string lengths where to cut, may be null,
must not be negative
     * @return an array of splitted Strings, {@code null} if null String
input
     * @throws IllegalArgumentException
     *             if one of the lengths is negative
     */
    public static String[] splitByLength(String str, int ... lengths);

    /**
     * <p>Split a String into an array, using an array of fixed string
lengths repeated as
     * many times as necessary to reach the String end.</p>
     *
     * <p>If not null String input, the returned array size is a
multiple of the input lengths array.</p>
     *
     * <p>A null input String returns {@code null}.
     * A {@code null} or empty input lengths array returns an empty array.
     * A {@code 0} in the input lengths array results in en empty
string.</p>
     *
     * <p>All empty substrings other than zero length requested and
following substrings,
     * are returned {@code null}.</p>
     *
     * <pre>
     * StringUtils.splitByLengthRepeated(null, *)      = null
     * StringUtils.splitByLengthRepeated("abc")        = []
     * StringUtils.splitByLengthRepeated("abc", null)  = []
     * StringUtils.splitByLengthRepeated("abc", [])    = []
     * StringUtils.splitByLengthRepeated("", 2, 4, 1)  = [null, null, null]
     *
     * StringUtils.splitByLengthRepeated("abcdefghij", 2, 3)     =
["ab", "cde", "fg", "hij"]
     * StringUtils.splitByLengthRepeated("abcdefgh", 2, 3)       =
["ab", "cde", "fg", "h"]
     * StringUtils.splitByLengthRepeated("abcdefg", 2, 3)        =
["ab", "cde", "fg", null]
     *
     * StringUtils.splitByLengthRepeated(" abcdef", 2, 3)        = ["
a", "bcd", "ef", null]
     * StringUtils.splitByLengthRepeated("abcdef ", 2, 3)        =
["ab", "cde", "f ", null]
     * StringUtils.splitByLengthRepeated("abcdef", 2, 3, 0, 1)   =
["ab", "cde", "", "f"]
     * StringUtils.splitByLengthRepeated("abcdefg", 2, 3, 0, 1)  =
["ab", "cde", "", "f",
     *                                                              "g",
null, null, null]
     * StringUtils.splitByLengthRepeated("abcdefgh", 2, 0, 1, 0) =
["ab", "", "c", "",
     *                                                             
"de", "", "f", "",
     *                                                             
"gh", "", null, null]
     * StringUtils.splitByLengthRepeated("abcdefg", 2, 0, 1, 0) = ["ab",
"", "c", "",
     *                                                             
"de", "", "f", "",
     *                                                              "g",
null, null, null]
     * StringUtils.splitByLengthRepeated("abcdefg", -1)          =
{@link IllegalArgumentException}
     * StringUtils.splitByLengthRepeated("abcdefg", 0, 0)        =
{@link IllegalArgumentException}
     * </pre>
     *
     * @param str  the String to parse, may be null
     * @param lengths  the string lengths where to cut, may be null,
must not be negative
     * @return an array of splitted Strings, {@code null} if null String
input
     * @throws IllegalArgumentException
     *             if one of the lengths is negative or if lengths sum
is less than 1
     */
    public static String[] splitByLengthRepeatedly(String str, int ...
lengths);

-- 
Loic Guibert
PGP : 0x65EB4F33


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [LANG] Adding StringUtils split by length methods

Posted by Benedikt Ritter <br...@apache.org>.
Hello Loic,

sorry, I don't have much time for OSS at the moment. I'll definitely have a
look when I have more time again, but I don't know when that will be :-(
But I'm not the only committer for Commons Lang so others should be able to
give you feedback as well.

Regards,
Benedikt

2015-07-28 12:09 GMT+02:00 Loic Guibert <lf...@yahoo.fr>:

> Hello Benedikt,
> Have you had time to look at these elements and my feedback comments on
> github ?
>
> https://github.com/apache/commons-lang/pull/75
>
> Loic Guibert
> PGP : 0x65EB4F33
>
>
> Le 01/05/2015 13:47, Benedikt Ritter a écrit :
> > Hey Loic,
> >
> > thank you for this proposal. I'll have a look at it this Sunday!
> >
> > Benedikt
> >
> > 2015-04-30 10:08 GMT+02:00 Loic Guibert <lf...@yahoo.fr>:
> >
> >> Hello,
> >> I've implemented 2 methods to split a String by fixed lengths :
> >>   - public static String[] splitByLength(String str, int ... lengths)
> >>   - public static String[] splitByLengthRepeatedly(String str, int ...
> >> lengths)
> >>
> >> I'll open a JIRA ticket and an associated Pull Request to add those
> >> methods in StringUtils.
> >>
> >>
> >> There is detail :
> >>
> >>     /**
> >>      * <p>Split a String into an array, using an array of fixed string
> >> lengths.</p>
> >>      *
> >>      * <p>If not null String input, the returned array size is same as
> >> the input lengths array.</p>
> >>      *
> >>      * <p>A null input String returns {@code null}.
> >>      * A {@code null} or empty input lengths array returns an empty
> array.
> >>      * A {@code 0} in the input lengths array results in en empty
> >> string.</p>
> >>      *
> >>      * <p>Extra characters are ignored (ie String length greater than
> >> sum of split lengths).
> >>      * All empty substrings other than zero length requested, are
> >> returned {@code null}.</p>
> >>      *
> >>      * <pre>
> >>      * StringUtils.splitByLength(null, *)      = null
> >>      * StringUtils.splitByLength("abc")        = []
> >>      * StringUtils.splitByLength("abc", null)  = []
> >>      * StringUtils.splitByLength("abc", [])    = []
> >>      * StringUtils.splitByLength("", 2, 4, 1)  = [null, null, null]
> >>      *
> >>      * StringUtils.splitByLength("abcdefg", 2, 4, 1)     = ["ab",
> >> "cdef", "g"]
> >>      * StringUtils.splitByLength("abcdefghij", 2, 4, 1)  = ["ab",
> >> "cdef", "g"]
> >>      * StringUtils.splitByLength("abcdefg", 2, 4, 5)     = ["ab",
> >> "cdef", "g"]
> >>      * StringUtils.splitByLength("abcdef", 2, 4, 1)      = ["ab",
> >> "cdef", null]
> >>      *
> >>      * StringUtils.splitByLength(" abcdef", 2, 4, 1)     = [" a",
> >> "bcde", "f"]
> >>      * StringUtils.splitByLength("abcdef ", 2, 4, 1)     = ["ab",
> >> "cdef", " "]
> >>      * StringUtils.splitByLength("abcdefg", 2, 4, 0, 1)  = ["ab",
> >> "cdef", "", "g"]
> >>      * StringUtils.splitByLength("abcdefg", -1)          = {@link
> >> IllegalArgumentException}
> >>      * </pre>
> >>      *
> >>      * @param str  the String to parse, may be null
> >>      * @param lengths  the string lengths where to cut, may be null,
> >> must not be negative
> >>      * @return an array of splitted Strings, {@code null} if null String
> >> input
> >>      * @throws IllegalArgumentException
> >>      *             if one of the lengths is negative
> >>      */
> >>     public static String[] splitByLength(String str, int ... lengths);
> >>
> >>     /**
> >>      * <p>Split a String into an array, using an array of fixed string
> >> lengths repeated as
> >>      * many times as necessary to reach the String end.</p>
> >>      *
> >>      * <p>If not null String input, the returned array size is a
> >> multiple of the input lengths array.</p>
> >>      *
> >>      * <p>A null input String returns {@code null}.
> >>      * A {@code null} or empty input lengths array returns an empty
> array.
> >>      * A {@code 0} in the input lengths array results in en empty
> >> string.</p>
> >>      *
> >>      * <p>All empty substrings other than zero length requested and
> >> following substrings,
> >>      * are returned {@code null}.</p>
> >>      *
> >>      * <pre>
> >>      * StringUtils.splitByLengthRepeated(null, *)      = null
> >>      * StringUtils.splitByLengthRepeated("abc")        = []
> >>      * StringUtils.splitByLengthRepeated("abc", null)  = []
> >>      * StringUtils.splitByLengthRepeated("abc", [])    = []
> >>      * StringUtils.splitByLengthRepeated("", 2, 4, 1)  = [null, null,
> null]
> >>      *
> >>      * StringUtils.splitByLengthRepeated("abcdefghij", 2, 3)     =
> >> ["ab", "cde", "fg", "hij"]
> >>      * StringUtils.splitByLengthRepeated("abcdefgh", 2, 3)       =
> >> ["ab", "cde", "fg", "h"]
> >>      * StringUtils.splitByLengthRepeated("abcdefg", 2, 3)        =
> >> ["ab", "cde", "fg", null]
> >>      *
> >>      * StringUtils.splitByLengthRepeated(" abcdef", 2, 3)        = ["
> >> a", "bcd", "ef", null]
> >>      * StringUtils.splitByLengthRepeated("abcdef ", 2, 3)        =
> >> ["ab", "cde", "f ", null]
> >>      * StringUtils.splitByLengthRepeated("abcdef", 2, 3, 0, 1)   =
> >> ["ab", "cde", "", "f"]
> >>      * StringUtils.splitByLengthRepeated("abcdefg", 2, 3, 0, 1)  =
> >> ["ab", "cde", "", "f",
> >>      *                                                              "g",
> >> null, null, null]
> >>      * StringUtils.splitByLengthRepeated("abcdefgh", 2, 0, 1, 0) =
> >> ["ab", "", "c", "",
> >>      *
> >> "de", "", "f", "",
> >>      *
> >> "gh", "", null, null]
> >>      * StringUtils.splitByLengthRepeated("abcdefg", 2, 0, 1, 0) = ["ab",
> >> "", "c", "",
> >>      *
> >> "de", "", "f", "",
> >>      *                                                              "g",
> >> null, null, null]
> >>      * StringUtils.splitByLengthRepeated("abcdefg", -1)          =
> >> {@link IllegalArgumentException}
> >>      * StringUtils.splitByLengthRepeated("abcdefg", 0, 0)        =
> >> {@link IllegalArgumentException}
> >>      * </pre>
> >>      *
> >>      * @param str  the String to parse, may be null
> >>      * @param lengths  the string lengths where to cut, may be null,
> >> must not be negative
> >>      * @return an array of splitted Strings, {@code null} if null String
> >> input
> >>      * @throws IllegalArgumentException
> >>      *             if one of the lengths is negative or if lengths sum
> >> is less than 1
> >>      */
> >>     public static String[] splitByLengthRepeatedly(String str, int ...
> >> lengths);
> >>
> >> --
> >> Loic Guibert
> >> PGP : 0x65EB4F33
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >> For additional commands, e-mail: dev-help@commons.apache.org
> >>
> >>
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
http://people.apache.org/~britter/
http://www.systemoutprintln.de/
http://twitter.com/BenediktRitter
http://github.com/britter

Re: [LANG] Adding StringUtils split by length methods

Posted by Loic Guibert <lf...@yahoo.fr>.
Hello Benedikt,
Have you had time to look at these elements and my feedback comments on
github ?

https://github.com/apache/commons-lang/pull/75

Loic Guibert
PGP : 0x65EB4F33


Le 01/05/2015 13:47, Benedikt Ritter a écrit :
> Hey Loic,
>
> thank you for this proposal. I'll have a look at it this Sunday!
>
> Benedikt
>
> 2015-04-30 10:08 GMT+02:00 Loic Guibert <lf...@yahoo.fr>:
>
>> Hello,
>> I've implemented 2 methods to split a String by fixed lengths :
>>   - public static String[] splitByLength(String str, int ... lengths)
>>   - public static String[] splitByLengthRepeatedly(String str, int ...
>> lengths)
>>
>> I'll open a JIRA ticket and an associated Pull Request to add those
>> methods in StringUtils.
>>
>>
>> There is detail :
>>
>>     /**
>>      * <p>Split a String into an array, using an array of fixed string
>> lengths.</p>
>>      *
>>      * <p>If not null String input, the returned array size is same as
>> the input lengths array.</p>
>>      *
>>      * <p>A null input String returns {@code null}.
>>      * A {@code null} or empty input lengths array returns an empty array.
>>      * A {@code 0} in the input lengths array results in en empty
>> string.</p>
>>      *
>>      * <p>Extra characters are ignored (ie String length greater than
>> sum of split lengths).
>>      * All empty substrings other than zero length requested, are
>> returned {@code null}.</p>
>>      *
>>      * <pre>
>>      * StringUtils.splitByLength(null, *)      = null
>>      * StringUtils.splitByLength("abc")        = []
>>      * StringUtils.splitByLength("abc", null)  = []
>>      * StringUtils.splitByLength("abc", [])    = []
>>      * StringUtils.splitByLength("", 2, 4, 1)  = [null, null, null]
>>      *
>>      * StringUtils.splitByLength("abcdefg", 2, 4, 1)     = ["ab",
>> "cdef", "g"]
>>      * StringUtils.splitByLength("abcdefghij", 2, 4, 1)  = ["ab",
>> "cdef", "g"]
>>      * StringUtils.splitByLength("abcdefg", 2, 4, 5)     = ["ab",
>> "cdef", "g"]
>>      * StringUtils.splitByLength("abcdef", 2, 4, 1)      = ["ab",
>> "cdef", null]
>>      *
>>      * StringUtils.splitByLength(" abcdef", 2, 4, 1)     = [" a",
>> "bcde", "f"]
>>      * StringUtils.splitByLength("abcdef ", 2, 4, 1)     = ["ab",
>> "cdef", " "]
>>      * StringUtils.splitByLength("abcdefg", 2, 4, 0, 1)  = ["ab",
>> "cdef", "", "g"]
>>      * StringUtils.splitByLength("abcdefg", -1)          = {@link
>> IllegalArgumentException}
>>      * </pre>
>>      *
>>      * @param str  the String to parse, may be null
>>      * @param lengths  the string lengths where to cut, may be null,
>> must not be negative
>>      * @return an array of splitted Strings, {@code null} if null String
>> input
>>      * @throws IllegalArgumentException
>>      *             if one of the lengths is negative
>>      */
>>     public static String[] splitByLength(String str, int ... lengths);
>>
>>     /**
>>      * <p>Split a String into an array, using an array of fixed string
>> lengths repeated as
>>      * many times as necessary to reach the String end.</p>
>>      *
>>      * <p>If not null String input, the returned array size is a
>> multiple of the input lengths array.</p>
>>      *
>>      * <p>A null input String returns {@code null}.
>>      * A {@code null} or empty input lengths array returns an empty array.
>>      * A {@code 0} in the input lengths array results in en empty
>> string.</p>
>>      *
>>      * <p>All empty substrings other than zero length requested and
>> following substrings,
>>      * are returned {@code null}.</p>
>>      *
>>      * <pre>
>>      * StringUtils.splitByLengthRepeated(null, *)      = null
>>      * StringUtils.splitByLengthRepeated("abc")        = []
>>      * StringUtils.splitByLengthRepeated("abc", null)  = []
>>      * StringUtils.splitByLengthRepeated("abc", [])    = []
>>      * StringUtils.splitByLengthRepeated("", 2, 4, 1)  = [null, null, null]
>>      *
>>      * StringUtils.splitByLengthRepeated("abcdefghij", 2, 3)     =
>> ["ab", "cde", "fg", "hij"]
>>      * StringUtils.splitByLengthRepeated("abcdefgh", 2, 3)       =
>> ["ab", "cde", "fg", "h"]
>>      * StringUtils.splitByLengthRepeated("abcdefg", 2, 3)        =
>> ["ab", "cde", "fg", null]
>>      *
>>      * StringUtils.splitByLengthRepeated(" abcdef", 2, 3)        = ["
>> a", "bcd", "ef", null]
>>      * StringUtils.splitByLengthRepeated("abcdef ", 2, 3)        =
>> ["ab", "cde", "f ", null]
>>      * StringUtils.splitByLengthRepeated("abcdef", 2, 3, 0, 1)   =
>> ["ab", "cde", "", "f"]
>>      * StringUtils.splitByLengthRepeated("abcdefg", 2, 3, 0, 1)  =
>> ["ab", "cde", "", "f",
>>      *                                                              "g",
>> null, null, null]
>>      * StringUtils.splitByLengthRepeated("abcdefgh", 2, 0, 1, 0) =
>> ["ab", "", "c", "",
>>      *
>> "de", "", "f", "",
>>      *
>> "gh", "", null, null]
>>      * StringUtils.splitByLengthRepeated("abcdefg", 2, 0, 1, 0) = ["ab",
>> "", "c", "",
>>      *
>> "de", "", "f", "",
>>      *                                                              "g",
>> null, null, null]
>>      * StringUtils.splitByLengthRepeated("abcdefg", -1)          =
>> {@link IllegalArgumentException}
>>      * StringUtils.splitByLengthRepeated("abcdefg", 0, 0)        =
>> {@link IllegalArgumentException}
>>      * </pre>
>>      *
>>      * @param str  the String to parse, may be null
>>      * @param lengths  the string lengths where to cut, may be null,
>> must not be negative
>>      * @return an array of splitted Strings, {@code null} if null String
>> input
>>      * @throws IllegalArgumentException
>>      *             if one of the lengths is negative or if lengths sum
>> is less than 1
>>      */
>>     public static String[] splitByLengthRepeatedly(String str, int ...
>> lengths);
>>
>> --
>> Loic Guibert
>> PGP : 0x65EB4F33
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [LANG] Adding StringUtils split by length methods

Posted by Benedikt Ritter <br...@apache.org>.
Hey Loic,

thank you for this proposal. I'll have a look at it this Sunday!

Benedikt

2015-04-30 10:08 GMT+02:00 Loic Guibert <lf...@yahoo.fr>:

> Hello,
> I've implemented 2 methods to split a String by fixed lengths :
>   - public static String[] splitByLength(String str, int ... lengths)
>   - public static String[] splitByLengthRepeatedly(String str, int ...
> lengths)
>
> I'll open a JIRA ticket and an associated Pull Request to add those
> methods in StringUtils.
>
>
> There is detail :
>
>     /**
>      * <p>Split a String into an array, using an array of fixed string
> lengths.</p>
>      *
>      * <p>If not null String input, the returned array size is same as
> the input lengths array.</p>
>      *
>      * <p>A null input String returns {@code null}.
>      * A {@code null} or empty input lengths array returns an empty array.
>      * A {@code 0} in the input lengths array results in en empty
> string.</p>
>      *
>      * <p>Extra characters are ignored (ie String length greater than
> sum of split lengths).
>      * All empty substrings other than zero length requested, are
> returned {@code null}.</p>
>      *
>      * <pre>
>      * StringUtils.splitByLength(null, *)      = null
>      * StringUtils.splitByLength("abc")        = []
>      * StringUtils.splitByLength("abc", null)  = []
>      * StringUtils.splitByLength("abc", [])    = []
>      * StringUtils.splitByLength("", 2, 4, 1)  = [null, null, null]
>      *
>      * StringUtils.splitByLength("abcdefg", 2, 4, 1)     = ["ab",
> "cdef", "g"]
>      * StringUtils.splitByLength("abcdefghij", 2, 4, 1)  = ["ab",
> "cdef", "g"]
>      * StringUtils.splitByLength("abcdefg", 2, 4, 5)     = ["ab",
> "cdef", "g"]
>      * StringUtils.splitByLength("abcdef", 2, 4, 1)      = ["ab",
> "cdef", null]
>      *
>      * StringUtils.splitByLength(" abcdef", 2, 4, 1)     = [" a",
> "bcde", "f"]
>      * StringUtils.splitByLength("abcdef ", 2, 4, 1)     = ["ab",
> "cdef", " "]
>      * StringUtils.splitByLength("abcdefg", 2, 4, 0, 1)  = ["ab",
> "cdef", "", "g"]
>      * StringUtils.splitByLength("abcdefg", -1)          = {@link
> IllegalArgumentException}
>      * </pre>
>      *
>      * @param str  the String to parse, may be null
>      * @param lengths  the string lengths where to cut, may be null,
> must not be negative
>      * @return an array of splitted Strings, {@code null} if null String
> input
>      * @throws IllegalArgumentException
>      *             if one of the lengths is negative
>      */
>     public static String[] splitByLength(String str, int ... lengths);
>
>     /**
>      * <p>Split a String into an array, using an array of fixed string
> lengths repeated as
>      * many times as necessary to reach the String end.</p>
>      *
>      * <p>If not null String input, the returned array size is a
> multiple of the input lengths array.</p>
>      *
>      * <p>A null input String returns {@code null}.
>      * A {@code null} or empty input lengths array returns an empty array.
>      * A {@code 0} in the input lengths array results in en empty
> string.</p>
>      *
>      * <p>All empty substrings other than zero length requested and
> following substrings,
>      * are returned {@code null}.</p>
>      *
>      * <pre>
>      * StringUtils.splitByLengthRepeated(null, *)      = null
>      * StringUtils.splitByLengthRepeated("abc")        = []
>      * StringUtils.splitByLengthRepeated("abc", null)  = []
>      * StringUtils.splitByLengthRepeated("abc", [])    = []
>      * StringUtils.splitByLengthRepeated("", 2, 4, 1)  = [null, null, null]
>      *
>      * StringUtils.splitByLengthRepeated("abcdefghij", 2, 3)     =
> ["ab", "cde", "fg", "hij"]
>      * StringUtils.splitByLengthRepeated("abcdefgh", 2, 3)       =
> ["ab", "cde", "fg", "h"]
>      * StringUtils.splitByLengthRepeated("abcdefg", 2, 3)        =
> ["ab", "cde", "fg", null]
>      *
>      * StringUtils.splitByLengthRepeated(" abcdef", 2, 3)        = ["
> a", "bcd", "ef", null]
>      * StringUtils.splitByLengthRepeated("abcdef ", 2, 3)        =
> ["ab", "cde", "f ", null]
>      * StringUtils.splitByLengthRepeated("abcdef", 2, 3, 0, 1)   =
> ["ab", "cde", "", "f"]
>      * StringUtils.splitByLengthRepeated("abcdefg", 2, 3, 0, 1)  =
> ["ab", "cde", "", "f",
>      *                                                              "g",
> null, null, null]
>      * StringUtils.splitByLengthRepeated("abcdefgh", 2, 0, 1, 0) =
> ["ab", "", "c", "",
>      *
> "de", "", "f", "",
>      *
> "gh", "", null, null]
>      * StringUtils.splitByLengthRepeated("abcdefg", 2, 0, 1, 0) = ["ab",
> "", "c", "",
>      *
> "de", "", "f", "",
>      *                                                              "g",
> null, null, null]
>      * StringUtils.splitByLengthRepeated("abcdefg", -1)          =
> {@link IllegalArgumentException}
>      * StringUtils.splitByLengthRepeated("abcdefg", 0, 0)        =
> {@link IllegalArgumentException}
>      * </pre>
>      *
>      * @param str  the String to parse, may be null
>      * @param lengths  the string lengths where to cut, may be null,
> must not be negative
>      * @return an array of splitted Strings, {@code null} if null String
> input
>      * @throws IllegalArgumentException
>      *             if one of the lengths is negative or if lengths sum
> is less than 1
>      */
>     public static String[] splitByLengthRepeatedly(String str, int ...
> lengths);
>
> --
> Loic Guibert
> PGP : 0x65EB4F33
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
http://people.apache.org/~britter/
http://www.systemoutprintln.de/
http://twitter.com/BenediktRitter
http://github.com/britter