当前位置: > > > > 如何修改字符串中的特定字符
来源:stackoverflow
2024-04-24 16:09:28
0浏览
收藏
大家好,我们又见面了啊~本文《如何修改字符串中的特定字符》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~
问题内容
在c中,我们将字符串的字符定义为char。所以我想改变go中字符串的一个字符。
if sum%11 != int(str[strlen-1]) { str[strlen-1] = byte(sum % 11) //fmt.Printf("%T %T\n", str[strlen-1], byte(sum%11)) } else { fmt.Println(sum) }
但是会报错“无法赋值给str[strlen – 1]”。 str[strlen-1] 和 byte(sum%11) 都是 uint8。为什么错了?我该如何转换?
解决方案
与 c 语言不同,go 字符串是不可变的,因此您无法修改字符串中的单个字节。但是,您可以将字符串转换为字节数组,更改它,然后将该字节数组转换为字符串。
arr:=[]byte(str) arr[strlen-1]=byte(sum%11) str=string(arr)
请注意,go 字符串是 utf-8 编码的。符文可以表示为多个字节。通过像这样修改字符串,您可能会得到无效的字符串。
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何修改字符串中的特定字符》文章吧,也可关注公众号了解相关技术文章。