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

如何更改字符串中某些位置的字符

如何更改字符串中某些位置的字符

Go
泛舟湖上清波郎朗 2022-07-04 10:06:10
对于像“AA_BB_CC”这样的字符串,我想把它变成“AaBbCc”。我以为我可以这样做:func CapsToCamel() string {  var buf bytes.Buffer  s := "AA_BB_CC"  toUpper := true  for i :=0; i<len(s); i++ {    if toUpper {       buf.WriteString(strings.ToUpper(s[i])) // error: s[i] is of byte.    ...}我停在那里,虽然我可以将每个s[i]视为 ASCII 字符,然后将其值与aand进行比较z,但我认为应该有一个 Go 方法来做到这一点。
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

这是一个更清洁的工作解决方案,仅使用strings包而不必依赖使用bytes.Buffer.


func CapsToCamel(s string) string {

    newstr := ""

    str := []byte(strings.Join(strings.Split(s, "_"), ""))


    for i := 0; i < len(str); i += 2 {

        newstr += string(str[i])

        newstr += strings.ToLower(string(str[i]))

    }

    return newstr

}

操场上也有一个简单的例子:https: //play.golang.org/p/1YIeTlr8a6D


查看完整回答
反对 回复 2022-07-04
  • 1 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号