简单的haskell字符串管理

pau*_*lan 3 string haskell

我想用Haskell解决这个问题:让一个函数替换一个字符串中的所有通配符作为一个具体参数.该功能具有以下特征:

subs :: String -> String -> String -> String
-- example:
-- subs 'x' "x^3 + x + sin(x)" "6.2" will generate
--          "6.2^3 + 6.2 + sin(6.2)"
Run Code Online (Sandbox Code Playgroud)

Dan*_*yer 6

您可以使用Text.Regex包.

您的示例可能如下所示:

import Text.Regex(mkRegex, subRegex)

subs :: String -> String -> String -> String
subs wildcard input value = subRegex (mkRegex wildcard) input value
Run Code Online (Sandbox Code Playgroud)