可能重复:
convert string list to int list in haskellHaskell的字符串列表
嗨,
我有一个字符串 “12345”。我如何以列表形式显示它[1,2,3,4,5]?还有,如果我有像“## %%”这样的字符串呢?我无法将其转换为int。如何以[#,#,%,%]的形式查看它?
可能重复:
convert string list to int list in haskellHaskell的字符串列表
嗨,
我有一个字符串 “12345”。我如何以列表形式显示它[1,2,3,4,5]?还有,如果我有像“## %%”这样的字符串呢?我无法将其转换为int。如何以[#,#,%,%]的形式查看它?
myShow :: String -> String
myShow s = concat ["[", intersperse ',' s, "]"]
尝试使用splitEvery长度为1
import Data.Char (digitToInt)
map digitToInt "12345"
Thx,学到了新的东西。 – markmywords 2011-04-15 16:49:12
如果我没有数字怎么办? – thetux4 2011-04-15 17:47:28
你已经采取了看看这个答案吗? Convert string list to int list
字符串只是Haskell中的一个字符列表。 :)
您应该映射函数读取X ::诠释每个字符串的元素作为一个字符列表:
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]
这些不重复。一种是将字符串转换为列表,另一种是将字符串列表转换为列表。 – Scott 2011-05-01 14:20:52
在Haskell中,“12345”实际上是['1','2','3','4','5']。这是你想要的还是它[[1,2,3,4,5]]? – 2012-01-02 13:20:46