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 > [hidden email] > http://lists.squeakfoundation.org/mailman/listinfo/beginners > ________________________________________________________________________ iFRANCE, exprimez-vous ! http://web.ifrance.com |
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 <[hidden email]>: > > 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 > > [hidden email] > > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > ________________________________________________________________________ > iFRANCE, exprimez-vous ! > http://web.ifrance.com > > > > > > |
In reply to this post by Nicolas Cellier-3
Hi,
this thread was in [hidden email] accidentally i replied to squeak-dev. So i forwarded your answer on beginners list. Thanks Philippe Marschall: > What's with #splitOn: , #subStrings: and #findBetweenSubStrs: except > that they don't support regex and have all more or less the same > responsibility? > > Philippe > ________________________________________________________________________ iFRANCE, exprimez-vous ! http://web.ifrance.com |
Free forum by Nabble | Edit this page |