我想替換除第一個(gè)和最后一個(gè)字母之外的字符串。例如: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貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果將字符串轉(zhuǎn)換為[]rune,則可以修改該切片并將其轉(zhuǎn)換回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()函數(shù)也適用于少于 3 個(gè)字符的字符串,在這種情況下不會(huì)模糊任何內(nèi)容。
- 1 回答
- 0 關(guān)注
- 215 瀏覽
添加回答
舉報(bào)
0/150
提交
取消