我想替换除第一个和最后一个字母之外的字符串。例如:handsome -> h******e한국어 -> 한*어这是我的代码:var final = string([]rune(username)[:1]for i :=0l i <len([]rune(username)); i++{ if i >1 { final = final + "*" }}
1 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
如果将字符串转换为[]rune,则可以修改该切片并将其转换回string最后:
func blur(s string) string {
rs := []rune(s)
for i := 1; i < len(rs)-1; i++ {
rs[i] = '*'
}
return string(rs)
}
测试它:
fmt.Println(blur("handsome"))
fmt.Println(blur("한국어"))
输出(在Go Playground上试试):
h******e
한*어
请注意,此blur()函数也适用于少于 3 个字符的字符串,在这种情况下不会模糊任何内容。
- 1 回答
- 0 关注
- 178 浏览
添加回答
举报
0/150
提交
取消