一尘不染

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

go

目的: 在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,


尝试两次

  1. 计算字符数
  2. 对于循环
  3. 如果X = 5,则插入一个 -

尝试三

  1. 扫描结合加入

问题

目前尝试两次和三次不包含代码段的原因是,我仍在思考应该使用哪种方法在Golang中的字符串中每X个字符插入一个字符。


阅读 254

收藏
2020-07-02

共1个答案

一尘不染

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()
}
2020-07-02