gpt4 book ai didi

string - 从 Haskell 中的字符串替换子字符串

转载 作者:行者123 更新时间:2023-12-03 18:22:16 24 4
gpt4 key购买 nike

我有以下字符串 "not really//"我想写一个函数来替换每两个斜杠 "//"带两个点".."
我考虑过使用 map ,但后来我会遍历字符并且不知道斜线是否会跟在另一个斜线后面。任何线索如何做到这一点? (没有正则表达式)

最佳答案

我们可以使用 replace :: Text -> Text -> Text -> Text Data.Text 的功能功能。例如:

Prelude Data.Text> replace "//" ".." "not really//"
"not really.."

然而,我们在这里工作 Text s。如果这是一个问题,我们也可以使用 pack :: String -> Text unpack :: Text -> String String 之间进行转换和 Text .所以我们可以定义一个函数:
{-# LANGUAGE OverloadedStrings #-}

import Data.Text(pack, unpack, replace)

replacedoubleslash :: String -> String
replacedoubleslash = unpack . replace "//" ".." . pack

但通常用于高效的字符串处理——无论是在速度还是内存方面——使用 Text比使用 String 更好s。

关于string - 从 Haskell 中的字符串替换子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48492142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com