将空字符串填充到文本

时间:2017-10-15 01:39:12

标签: haskell

我正在进行加密练习,我需要填充输入文本以具有16个字节(AES)的倍数,我发现在python中我可以创建一个空的(即空格字符串):

  
    

' ' * n#无论整数n是

  

haskell有同等的方法吗?我可以使用递归的简单函数来做到这一点,但只是好奇有一种方法比python snip更短。

1 个答案:

答案 0 :(得分:2)

由于字符串是字符列表,您可以使用:

replicate :: Int -> a -> [a]

例如:

replicate 5 'x' == "xxxxx"

您可以通过使用Hoogle搜索合理的类型签名来自行查找此类实用程序功能; replicate恰好是Hoogle search for Int -> a -> [a]中的第一个结果。

如果您使用的是Text而不是String,则Data.Text中有一个等效函数:

replicate :: Int -> Text -> Text

replicate 5 (pack "x") == pack "xxxxx"