22 lines
546 B
Plaintext
22 lines
546 B
Plaintext
F multisplit(text, sep)
|
||
V lastmatch = 0
|
||
V i = 0
|
||
V matches = ‘’
|
||
L i < text.len
|
||
L(s) sep
|
||
V j = L.index
|
||
I text[i..].starts_with(s)
|
||
I i > lastmatch
|
||
matches ‘’= text[lastmatch .< i]
|
||
matches ‘’= ‘{’s‘}’
|
||
lastmatch = i + s.len
|
||
i += s.len
|
||
L.break
|
||
L.was_no_break
|
||
i++
|
||
I i > lastmatch
|
||
matches ‘’= text[lastmatch .< i]
|
||
R matches
|
||
|
||
print(multisplit(‘a!===b=!=c’, [‘==’, ‘!=’, ‘=’]))
|