[Newbies] Splitting strings

Philippe Marschall philippe.marschall at gmail.com
Wed Jul 26 07:44:32 UTC 2006


What's with #splitOn: , #subStrings:  and #findBetweenSubStrs: except
that they don't support regex and have all more or less the same
responsibility?

Philippe

2006/7/26, ncellier @ ifrance. com <ncellier at ifrance.com>:
>
> I see at least two alternatives:
> - Stream
> - VBRegex
>
> If you have a single separator string, then Stream already has the upToAll: method (leave stream positioned before occurence...)
>
> | testString sep subStrings inputStream |
> testString := 'split that string in this language'.
> sep := 'th'.
> subStrings := Array new writeStream.
> inputStream := testString readStream.
> [inputStream atEnd]
>         whileFalse: [
>                 subStrings nextPut: (inputStream upToAll: sep).
>                 inputStream throughAll: sep].
> ^subStrings contents
>
> VBRegex is more powerfull of course (it can match several different separators at once).
> I let you inquire about it.
>
> Nicolas
>
> Damien Pollet:
> > Hi,
> >
> > is there anything like ruby's String#split in Smalltalk? (split the
> > string at string occurences or regexp matches)
> >
> > I found SequenceableCollection#piecesCutWhere: or String#findTokens
> > but I need to split at occurences of a substring. I must also admit my
> > problem is with VW... I did try in the method finder in Squeak, but
> > without much success.
> >
> > --
> >  Damien Pollet
> >  type less, do more
> > _______________________________________________
> > Beginners mailing list
> > Beginners at lists.squeakfoundation.org
> > http://lists.squeakfoundation.org/mailman/listinfo/beginners
> >
>
>
> ________________________________________________________________________
> iFRANCE, exprimez-vous !
> http://web.ifrance.com
>
>
>
>
>
>



More information about the Squeak-dev mailing list