commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benedikt Ritter <brit...@apache.org>
Subject Re: [LANG] Adding StringUtils split by length methods
Date Wed, 05 Aug 2015 05:50:09 GMT
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 <lfdummy-apache@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 <lfdummy-apache@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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message