commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Germuska <>
Subject Re: [lang] split & join
Date Thu, 12 Feb 2004 17:39:59 GMT
At 6:27 PM +0100 2/12/04, Emmanuel Bourg wrote:
>Hi, i noticed that the split method in StringUtils is not the 
>reverse operation of join, is this intended ? The split method 
>treats adjacent separators as one separator unlike the Perl and JDK 
>1.4 split functions. That means it's not possible to join an array 
>and then split the result to get a similar array, that's quite 
>annoying when manipulating CSV records. For example:
>String[] tab1 = new String[] { "a", "b", "", "d" };
>String[] tab2 = StringUtils.split(StringUtils.join(tab1, ';'), ';');
>here tab2 = { "a", "b", "d" }, the 3rd element of tab1 is lost.
>That may be nice to have a flag on the split methods indicating if 
>the separators must be merged, or a new set of methods (slice()?) 
>with the same signatures and handling empty elements.

I think this came up and was ruled to be something that we're "stuck 
with" for backwards compatibility.  Of course, there could be new 
methods, regardless of the names.

I'd suggest against "slice," though, since it has a specific meaning 
in Perl (a sub-region of an array), and the perl parallels are so 
strong otherwise that using one term differently would confuse people 

Maybe the best would just be an alternate method signature to split(...) ?


Joe Germuska       
       "Imagine if every Thursday your shoes exploded if you tied them 
the usual way.  This happens to us all the time with computers, and 
nobody thinks of complaining."
             -- Jef Raskin

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message