3 回答
TA贡献1862条经验 获得超7个赞
假设您想要删除空行作为输出的相同字符串,我将使用正则表达式:
import (
"fmt"
"regexp"
)
func main() {
var s = `line 1
line 2
line 3`
regex, err := regexp.Compile("\n\n")
if err != nil {
return
}
s = regex.ReplaceAllString(s, "\n")
fmt.Println(s)
}
TA贡献1824条经验 获得超6个赞
类似于 ΔλЛ 的答案,它可以用字符串来完成。替换:
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
TA贡献1817条经验 获得超6个赞
更通用的方法可能是这样的。
package main
import (
"fmt"
"regexp"
"strings"
)
func main() {
s := `
####
####
####
####
`
fmt.Println(regexp.MustCompile(`[\t\r\n]+`).ReplaceAllString(strings.TrimSpace(s), "\n"))
}
https://play.golang.org/p/uWyHfUIDw-o
- 3 回答
- 0 关注
- 1121 浏览
添加回答
举报
