如何在Golang的字符串中每X个字符插入一个字符?

目的:在 Golang 的字符串中每 x 个字符插入一个字符


输入: helloworldhelloworldhelloworld


预期输出: hello-world-hello-world-hello-world


尝试


尝试一


package main


import (

    "fmt"

    "strings"

)


func main() {

    s := "helloworldhelloworldhelloworld"


    s = strings.Replace(s, "world", ",", -1)

    fmt.Println(s)

}

结果是: hello,hello,hello,


尝试二


计算字符数

For循环

如果 X=5 则插入一个 -

尝试三


扫描结合加入

问题


尝试二和三的原因目前没有包含代码片段,是我还在思考应该用什么方法在Golang的字符串中每X个字符插入一个字符。


红糖糍粑
浏览 272回答 3
3回答

蝴蝶不菲

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()}

梦里花落0921

我觉得以下解决方案值得一提:package mainimport "fmt"var s = "helloworldhelloworldhelloworld"func main() {&nbsp; &nbsp; for i := 5; i < len(s); i += 6 {&nbsp; &nbsp; &nbsp; &nbsp; s = s[:i] + "-" + s[i:]&nbsp; &nbsp; }&nbsp; &nbsp; fmt.Println(s)}https://play.golang.org/p/aMXOTgiNHf

慕标5832272

根据 Go 文档,字符串是只读的字节片。. 考虑到这一点,就会出现一个问题。你用的是什么字符集?你可以在这里和这里看到一些事情变得奇怪的例子。尽管复杂,但仍然有一个简单的答案s = strings.Replace(s, "hello", "hello-", -1)s = strings.Replace(s, "world", "world-", -1)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go