22 lines
403 B
Plaintext
22 lines
403 B
Plaintext
procedure main()
|
|
str := "one^|uno||three^^^^|four^^^|^cuatro|"
|
|
every write("\"",!tokenize(str,"|","^"),"\"")
|
|
end
|
|
|
|
procedure tokenize(str,sep,esc)
|
|
ret := []
|
|
token := ""
|
|
cse := cset(sep||esc)
|
|
str ?
|
|
repeat{
|
|
token ||:= tab(i := (upto(cse) | 0))
|
|
if i = 0 then return put(ret,token)
|
|
move(1)
|
|
if str[i] == sep then{
|
|
put(ret,token)
|
|
token := ""
|
|
}else
|
|
token ||:= move(1)
|
|
}
|
|
end
|