【问题标题】:Haskell: test if list contains specific "sublist"Haskell:测试列表是否包含特定的“子列表”
【发布时间】:2011-12-28 02:38:02
【问题描述】:

是否有技巧或前奏函数来测试列表是否包含特定的子字符串/子列表?

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

我尝试自己写一个,但这是一个小问题,我不想重新发明轮子。

【问题讨论】:

  • 是否有意在第一种情况下使用xyz,好像它的类型是[a] -> [a] -> Bool,而在第二种情况下,好像它是[[a]] -> [a] -> Bool?因为很难找到同时允许两种用法的函数。
  • 我只是想在 dave4420 的回答中补充一点,您可以通过 hoogle 找到这些函数(isInfixOf 是第一个命中)。

标签: list search haskell substring sublist


【解决方案1】:

使用来自 Data.List 的isInfixOf

参数与您要求的相反 --- 通常使用这样的函数最易读:"worl" `isInfixOf` "hello world"(返回 True)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-16
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 2019-07-28
    相关资源
    最近更新 更多