登录
首页 >  Golang >  Go问答

替换字符串中的最后一个字符

来源:stackoverflow

时间:2024-04-02 14:00:35 365浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《替换字符串中的最后一个字符》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

s=s[:len(s)-1] + "c"

我遇到了需要解决这个问题的问题,我很惊讶地发现没有直接的 s[index] = "c" 方式(我猜这意味着字符串是不可变的?)。

以上是替换字符串中最后一个字符的最佳方法吗?


正确答案


编写一个适用于 utf-8 编码字符串的函数。

package main

import (
    "fmt"
    "unicode/utf8"
)

func replacelastrune(s string, new rune) string {
    old, size := utf8.decodelastruneinstring(s)
    if old == utf8.runeerror && size <= 1 {
        return s
    }
    return s[:len(s)-size] + string(new)
}

func main() {
    s := "hello worlΔ"
    fmt.println(s)
    s = replacelastrune(s, 'd')
    fmt.println(s)
}

https://go.dev/play/p/2lssss-5y2l

Hello WorlΔ
Hello World

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《替换字符串中的最后一个字符》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>