RosettaCodeData/Task/URL-decoding/Langur/url-decoding.langur

13 lines
317 B
Plaintext

val finish = fn s:b2s(map(
less(split(s, by="%"), of=1),
by=fn x:number(x, fmt=16),
))
val decode = fn s:replace(
s,
by=re/(%[0-9A-Fa-f]{2})+/,
with=finish,
)
writeln decode("https%3A%2F%2Fno%20more%20foo%20bars%20please%2F")
writeln decode("google.com/search?q=%22unbroken%20string%22")