为了账号安全,请及时绑定邮箱和手机立即绑定

从末尾开始替换字符串 n 次

从末尾开始替换字符串 n 次

Go
慕哥9229398 2021-09-10 21:05:01
这是我使用 golang 的第二天,我可能会问一个非常基本的问题:我想替换字符串的一部分,这就是strings.Replace的好处:func Replace(s, old, new string, n int) string最后一个参数是old被替换的次数new- 从字符串的开头开始。有没有类似的标准函数从末尾开始?
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

没有您要寻找的标准功能。


替代方案#1:反向

使用字符串反转函数(取自此处):


func Rev(s string) string {

    runes := []rune(s)

    for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {

        runes[i], runes[j] = runes[j], runes[i]

    }

    return string(runes)

}

您的解决方案是:


Rev(strings.Replace(Rev(s), Rev(old), Rev(new), n))

选择#2:自己动手

您可以简单地使用forandstrings.LastIndex()来查找可替换的子字符串并替换它们。


查看完整回答
反对 回复 2021-09-10
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信