Haskell替换字符串的特定字符

时间:2017-05-07 08:10:50

标签: haskell

我刚刚开始学习haskell所以这可能是一个非常简单的问题..但这里是: 我有一个字符串,一个字符C和一个数字N.我需要编写一个函数,用字符串的位置替换字符串的所有字符,用字母C除以字母N. 我必须使用列表推导和基本函数或库函数。

 replace::Char->Int->String->String 

有人可以帮帮我吗?

replace :: Int -> [Int] -> [Int]
replace y xs = [ if isDivided i then y else x | (i,x) <- zip [0..] xs ]

1 个答案:

答案 0 :(得分:1)

您的方法基本上是正确的。如果您更改了类型签名:

"as if"

并添加另一个参数:

replace :: Char -> Int -> String -> String
然后你几乎完成了。你只需要写replace y d xs = [ if isDivisible i d then y else x | (i,x) <- zip [0..] xs ]