HaskellのText値で最初に出現する「サブストリング」(実際にはData.Text.Text)のみを最も効率的な方法で置き換えるにはどうすればよいですか?
1 に答える
12
部分文字breakOn
列、
breakOn :: Text -> Text -> (Text, Text)
パターンの最初の出現で を 2 つの部分に分割しText
、2 番目のコンポーネントの先頭で部分文字列を置き換えます。
replaceOne :: Text -> Text -> Text -> Text
replaceOne pattern substitution text
| T.null back = text -- pattern doesn't occur
| otherwise = T.concat [front, substitution, T.drop (T.length pattern) back]
where
(front, back) = breakOn pattern text
于 2013-02-17T14:29:23.787 に答える