commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Henri Yandell <bay...@generationjava.com>
Subject Re: [lang] StringUtils.sliceFirstRemainder behavior
Date Wed, 23 Jul 2003 01:01:59 GMT

Must be linked to which method was which.

chomp x:       cut off x and everything after it
prechomp x:    cut off x and everything before it
getChomp x:    return the inverse of chomp x
getPrechomp x: return the inverse of prechomp x

chomp       -> slice  [chomp changed to meet perl chomp]
prechomp    -> sliceFirstRemainder
getPrechomp -> sliceFirst
getChomp    -> sliceRemainder

So, sliceFirst and sliceFirstRemainder still have the intent for being
inverses so that sliceFirst( s, x ) + sliceFirstRemainder( s, x ) == s.

Whether this should still hold though now, I don't know. Although I felt
that chomp+getChomp should = s, I always found it made getChomp a bit
painful to use as it returned the delimiter itself. I think I was overly
impressed with the symmetry.

Hen


On Wed, 23 Jul 2003, Stephen Colebourne wrote:

> OK, the current behaviour seems daft to me. Can anyone explain why this is
> as it is?
>
> StringUtils.sliceFirst("abc", "") = "abc"
> StringUtils.sliceFirst("abc", "d") = ""
>
> StringUtils.sliceFirstRemainder("abc", "") = ""
> StringUtils.sliceFirstRemainder("abc", "d") = "abc"
>
> I would expect the exact opposite:
> StringUtils.sliceFirst("abc", "") = ""
> StringUtils.sliceFirst("abc", "d") = "abc"
>
> StringUtils.sliceFirstRemainder("abc", "") = "abc"
> StringUtils.sliceFirstRemainder("abc", "d") = ""
>
>
> I would expect slice first to return the text before the first separator. An
> empty string is found at position zero, so it should return "". Separator
> "d" is not found, so everything before it is the whole string.
>
> I'd like to change this, but why is it as it is???
>
> Stephen
>
> ----- Original Message -----
> From: "Phil Steitz" <phil@steitz.com>
> To: "Jakarta Commons Developers List" <commons-dev@jakarta.apache.org>
> Sent: Tuesday, July 22, 2003 3:30 PM
> Subject: Re: [lang] StringUtils.sliceFirstRemainder behavior
>
>
> > Stephen Colebourne wrote:
> > > I think I would expect:
> > >
> > > StringUtils.slice("foo", "b") = "foo"
> > > "get everything before the last 'b'"
> > >
> > > StringUtils.sliceRemainder("foo", "b") = ""
> > > "get everything after the last 'b'"
> > >
> > > StringUtils.sliceFirst("foo", "b") = ""
> > > "get everything before the first 'b'"
> > >
> > > StringUtils.sliceFirstRemainder("foo", "b") = "foo"
> > > "get everything after the first 'b'"
> > >
> > > slice and sliceRemainder are opposite.
> > > The results would be the same for a blank separator.
> > >
> > > But then I don't use Perl which is where I think these came from.
> > > So wait to see if you get any more answers!
> > >
> > > Stephen
> > >
> >
> > I just submitted a patch here
> >
> > http://issues.apache.org/bugzilla/show_bug.cgi?id=21797
> >
> > that documents current behavior with examples and test cases.
> >
> > Phil
> >
> > > ----- Original Message -----
> > > From: "Phil Steitz" <phil@steitz.com>
> > > To: "Jakarta Commons Developers List" <commons-dev@jakarta.apache.org>
> > > Sent: Tuesday, July 22, 2003 5:50 AM
> > > Subject: [lang] StringUtils.sliceFirstRemainder behavior
> > >
> > >
> > >
> > >>Currently,
> > >>
> > >>StringUtils.sliceRemainder("foo", "b") = ""
> > >>= StringUtils.sliceFirst("foo", "b"),
> > >>
> > >>but StringUtils.sliceRemainder("foo", "b") = "foo".
> > >>
> > >>Is this the intended behavior?
> > >>
> > >>Phil
> > >>
> > >>
> > >>
> > >>
> > >>---------------------------------------------------------------------
> > >>To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> > >>For additional commands, e-mail: commons-dev-help@jakarta.apache.org
> > >>
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: commons-dev-help@jakarta.apache.org
> > >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: commons-dev-help@jakarta.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>


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


Mime
View raw message