RosettaCodeData/Task/Multisplit/MiniScript/multisplit.mini

20 lines
477 B
Plaintext

parseSep = function(s, pats)
result = []
startPos = 0
pos = 0
while pos < s.len
for pat in pats
if s[pos : pos+pat.len] != pat then continue
result.push s[startPos : pos]
result.push "{" + pat + "}"
startPos = pos + pat.len
pos = startPos - 1
break
end for
pos = pos + 1
end while
return result
end function
print parseSep("a!===b=!=c", ["==", "!=", "="])