From 4aba3524089abbdaa836014fd58e927c69853eea Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Thu, 13 Jan 2011 10:02:50 -0500 Subject: More string processing --- lib/ur/string.ur | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lib/ur/string.ur') diff --git a/lib/ur/string.ur b/lib/ur/string.ur index a93f7a57..59a8e5c5 100644 --- a/lib/ur/string.ur +++ b/lib/ur/string.ur @@ -10,6 +10,7 @@ val sub = Basis.strsub val suffix = Basis.strsuffix val index = Basis.strindex +fun sindex r = Basis.strsindex r.Haystack r.Needle val atFirst = Basis.strchr fun mindex {Haystack = s, Needle = chs} = @@ -50,6 +51,12 @@ fun msplit {Haystack = s, Needle = chs} = sub s i, suffix s (i + 1)) +fun ssplit r = + case sindex r of + None => None + | Some i => Some (substring r.Haystack {Start = 0, Len = i}, + suffix r.Haystack (i + length r.Needle)) + fun all f s = let val len = length s -- cgit v1.2.3