• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

string - 如何在golang中替换字符串中的所有字符

[复制链接]
菜鸟教程小白 发表于 2022-8-16 06:38:40 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.Replace("golang", "g", "1", -1))
}

如何替换字符串中的所有字符 "golang" (以上字符串)来自 *也就是说它应该看起来像 "******" ?



Best Answer-推荐答案


通过替换所有字符,您将得到 string具有相同的字符数,但都是 '*' .所以简单地构造一个 string具有相同的字符长度,但都是 '*' . strings.Repeat() 可以重复一次 string (通过连接它):

ss := []string{"golang", "pi", "世界"}
for _, s := range ss {
    fmt.Println(s, strings.Repeat("*", utf8.RuneCountInString(s)))
}

输出(在 Go Playground 上试试):
golang ******
pi **
世界 **

请注意 len(s)为您提供 UTF-8 编码形式的长度,因为这是 Go 在内存中存储字符串的方式。您可以使用 utf8.RuneCountInString() 获取字符数.

例如以下行:
fmt.Println(len("世界"), utf8.RuneCountInString("世界")) // Prints 6 2

版画 6 2作为字符串 "世界"需要 6 个字节进行编码(以 UTF-8 格式),但它只有 2 个字符。

关于string - 如何在golang中替换字符串中的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36930263/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap