Op 27-4-2020 om 19:05 schreef Richard
Sargent:
On Mon, Apr 27, 2020 at 9:27
AM Roelof Wobben via Pharo-users <
[hidden email]>
wrote:
Hello,
I wonder if it is possible in Pharo to divide a string in
lets say part
of 3.
so this : 'abcdefgh'
would be 'abc def gh`
Do you really want a single string with spaces inserted
or do you want a collection of substrings, each three
characters (or less, for the last one)?
I need a single string with spaces inserted.
So maybe I have formulate my question wrong. Very difficult if
English is not your mother language and you were bad at school in
languages a very very long ago.
I didn't previously know of a method to do this, but I "guessed" what you needed might be related to "grouping", so I did...
'abcd' inspect.
then in the Meta tab, starting at Collection, filtered on....
group*
and worked up the hierarchy discovering #groupsOf:atATimeDo: in SequenceableCollection,
which guesswork found could work like this...
```
input := 'abcdefghijk'.
stream := String streamContents: [:s | input groupsOf: 3 atATimeDo: [ :group | s nextPutAll: group; nextPutAll: ' ']].
stream
contents inspect.
```
One of the skills a new programmer needs to develop is to make those educated "guesses"
and know where/how to test them.
So I learnt a new method today. thx.
cheers -ben