0

我正在寻找一种方法,当输入 a 时Char,该函数可以匹配列表,例如"QAZXSWEDCVFRTGBNHYUJMKIOPL",然后返回匹配的索引

例如,当 input 时'S',它可以找到'S'列表中的第 5 个元素,然后返回整数4(以 开头0)。

4

2 回答 2

2

您正在寻找以下功能elemIndexData.List

elemIndex :: Eq a => a -> [a] -> Maybe Int

-- Example
main = do
    let i = elemIndex 'S' "QZAXSWED"
    case i of
        Just idx -> print idx
        Nothing  -> putStrLn "'S' not found in list"

还有一个函数elemIndices可以返回列表中元素的所有索引,但运行时间会更长,因为它每次都必须扫描整个列表。

于 2013-10-25T21:17:22.187 回答
1
Prelude Data.List> elemIndex 'S' "QAZXSWEDCVFRTGBNHYUJMKIOPL"
Just 4
于 2013-10-25T21:18:06.880 回答