3 回答
TA贡献1810条经验 获得超4个赞
https://play.golang.org/p/HEGbe7radf
这个函数只是插入'-'每个第N个元素
func insertNth(s string,n int) string {
var buffer bytes.Buffer
var n_1 = n - 1
var l_1 = len(s) - 1
for i,rune := range s {
buffer.WriteRune(rune)
if i % n == n_1 && i != l_1 {
buffer.WriteRune('-')
}
}
return buffer.String()
}
TA贡献1772条经验 获得超5个赞
我觉得以下解决方案值得一提:
package main
import "fmt"
var s = "helloworldhelloworldhelloworld"
func main() {
for i := 5; i < len(s); i += 6 {
s = s[:i] + "-" + s[i:]
}
fmt.Println(s)
}
https://play.golang.org/p/aMXOTgiNHf
TA贡献1966条经验 获得超4个赞
根据 Go 文档,字符串是只读的字节片。. 考虑到这一点,就会出现一个问题。你用的是什么字符集?你可以在这里和这里看到一些事情变得奇怪的例子。
尽管复杂,但仍然有一个简单的答案
s = strings.Replace(s, "hello", "hello-", -1)
s = strings.Replace(s, "world", "world-", -1)
- 3 回答
- 0 关注
- 271 浏览
添加回答
举报