要列出的Haskell字符串

时间:2011-04-15 16:37:50

标签: list haskell

  

可能重复:
  convert string list to int list in haskell

我有一个字符串12345。如何以[1,2,3,4,5]等列表形式显示?如果我有一个像##%%这样的字符串怎么办?我无法将其转换为Int。如何以[#,#,%,%]

的形式查看它

5 个答案:

答案 0 :(得分:9)

import Data.Char (digitToInt)

map digitToInt "12345"

答案 1 :(得分:7)

使用intersperse

myShow :: String -> String
myShow s = concat ["[", intersperse ',' s, "]"]

答案 2 :(得分:5)

您应该将函数read x :: Int映射到字符串的每个元素作为字符列表:

map (\x -> read [x]::Int) "1234"

如果你有非数字字符,你应该首先过滤它:

import Data.Char
map (\x -> read [x]::Int) (filter (\x -> isDigit x) "1234##56")

结果是:

[1,2,3,4,5,6]

答案 3 :(得分:3)

你看过这个答案吗? Convert string list to int list

毕竟,String只是Haskell中的一个字符列表。 :)

答案 4 :(得分:2)

尝试使用长度为1的splitEvery