If you want to use libs to make your life easier, maybe something along these lines? Prelude Data.List.Split Safe> fmap length . headMay . split (onSublist "asdf") $ "blee blah asdf bloo" Just 10 If they are big strings, it's probably faster to use bytestrings, or arrays of some kinds, rather than default List implementation of string. 2010/6/6 R J <rj248842@hotmail.com>:
What's an elegant definition of a Haskell function that takes two strings and returns "Nothing" in case the first string isn't a substring of the first, or "Just i", where i is the index number of the position within the first string where the second string begins?
________________________________ Hotmail has tools for the New Busy. Search, chat and e-mail from your inbox. Learn more. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe