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 horribly.

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

Joe

--
Joe Germuska [EMAIL PROTECTED] http://blog.germuska.com "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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to