类似于 ΔλЛ 的答案,它可以用字符串来完成。替换:


func Replace(s, old, new string, n int) string Replace 返回字符串 s 的副本,其中 old 的前 n 个非重叠实例被 new 替换。如果 old 为空,则它在字符串的开头和每个 UTF-8 序列之后匹配,为 k-rune 字符串生成最多 k+1 次替换。如果 n < 0,则替换次数没有限制。


package main


import (

    "fmt"

    "strings"

)


func main() {


    var s = `line 1

line 2


line 3`


    s = strings.Replace(s, "\n\n", "\n", -1)


    fmt.Println(s)

}

https://play.golang.org/p/lu5UI74SLo