Haskell: test if list contains specific "sublist"

NaN picture NaN · Nov 13, 2011 · Viewed 10.2k times · Source

Is there a trick or a prelude function to test if a list contains a specific substring/sublist?

xyz :: [a] -> [a] -> Bool
xyz "hello world" "worl" -> True
xyz [1,2,3,4,5,6,7,8,1,2,3,4,5] [7,8,1] -> True

I tried to write one on my own, but this is a trivial problem and I don't want to reinvent the wheel.

Answer

dave4420 picture dave4420 · Nov 13, 2011

Use isInfixOf from Data.List.

The parameters are the other way round from what you asked for --- it's usually most readable to use the function like this: "worl" `isInfixOf` "hello world" (returns True).