Haskell pattern matching char in a string
haskell, pattern-matching
Solution
No, it's not possible. Pattern matching deconstructs values according to the constructors they were built with, so you can only use constructor applications in pattern matching to describe which values match the pattern and which don't.
For something like your example, a `case` works well,
f str = case break (== ';') str of
(s, _:r) -> s ++ r
_ -> error "No semicolon found"
Problem
I have a question on pattern matching: Is it possible to somehow match a (string ++ [char] ++ anotherstring)? I have tried something like: ``` f (s++";"++r) = s++r (the rhs is trivial, but its just for testing ;)) ``` But this results in a parse error.