可能重复:
将字符串列表转换为haskell中的int列表
我有一个字符串12345.如何以列表形式显示它[1,2,3,4,5]?如果我有一个字符串##%%怎么办?我无法将其转换为Int.如何在表格中查看[#,#,%,%]?
import Data.Char (digitToInt)
map digitToInt "12345"
Run Code Online (Sandbox Code Playgroud)
使用 intersperse
myShow :: String -> String
myShow s = concat ["[", intersperse ',' s, "]"]
Run Code Online (Sandbox Code Playgroud)
您应该将函数read x :: Int映射到字符串的每个元素作为字符列表:
map (\x -> read [x]::Int) "1234"
Run Code Online (Sandbox Code Playgroud)
如果你有非数字字符,你应该首先过滤它,如下所示:
import Data.Char
map (\x -> read [x]::Int) (filter (\x -> isDigit x) "1234##56")
Run Code Online (Sandbox Code Playgroud)
这导致:
[1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)