[REBOL] Re: Splitting string based on substring separator
From: andreas:bolka:gmx at: 22-Dec-2002 2:23
Sunday, December 22, 2002, 1:19:59 AM, SunandaDH wrote:
> Frantisek :
>> and I want to split it to substrings based on the separator string
>> (in this case, "sep").
> I'm sure you may get more elegant answers, but when I was faced with
> the same problem, I solved it by replacing the "sep" string with a
> single character that did not (should not!) appear in the string, I
> used a hex ff -- so:
funny enough, that i was hacking around at the same thing the very
moment (although only remotely related to what i really wanted to do
:). below you'll find my current version of 'split - tell me how it
works (it should even work with binary! as it preserves the original
series type :)
-- snip --
split: func [ string delim /local tokens token pos ] [
string: copy string ; resets series pointer - index? points to 1
tokens: copy []
while [ (not tail? string) and (found? pos: find string delim) ] [
token: copy/part string -1 + index? pos
string: copy skip string (length? token) + (length? delim)
append tokens token
]
append tokens copy string
]
-- snap --
--
Best regards,
Andreas mailto:[andreas--bolka--gmx--net]