问题
Possible Duplicate:
convert string list to int list in haskell
I have a string 12345
. How can I show it in list form like [1,2,3,4,5]
? And also what if i have a string like ##%%
? I can't convert it to Int
. How can view it in the form [#,#,%,%]
?
回答1:
Use intersperse
myShow :: String -> String
myShow s = concat ["[", intersperse ',' s, "]"]
回答2:
import Data.Char (digitToInt)
map digitToInt "12345"
回答3:
You should map the function read x::Int to each of the elements of the string as a list of chars:
map (\x -> read [x]::Int) "1234"
If you have non-digit characters you should filter it first like this:
import Data.Char
map (\x -> read [x]::Int) (filter (\x -> isDigit x) "1234##56")
That results in:
[1,2,3,4,5,6]
回答4:
Have you taken a look at this answer? Convert string list to int list
A String is just a list of characters in Haskell after all. :)
回答5:
Try using splitEvery with length 1
来源:https://stackoverflow.com/questions/5679797/haskell-string-to-list