Find the first instance of needle in haystack. The
first element of the returned tuple is the prefix of haystack
before needle is matched. The second is the remainder of
haystack, starting with the match. If you want the remainder
without the match, use stripInfix.
breakOn "::" "a::b::c" == ("a", "::b::c")
breakOn "/" "foobar" == ("foobar", "")
\needle haystack -> let (prefix,match) = breakOn needle haystack in prefix ++ match == haystack
Similar to breakOn, but searches from the end of the string.
The first element of the returned tuple is the prefix of
haystack up to and including the last match of
needle. The second is the remainder of haystack,
following the match.