如何从字符串中删除多个换行符`\n`,但只保留一个?

3

在 JavaScript 中,我使用以下正则表达式将多个换行符替换为一个:str.replace(/(\r\n?|\n){2,}/g, '$1') 但是在 Golang 中,我不确定应该怎么做。请问我该如何在 Golang 中实现这个功能?

输入:

Some string\n\n\n\n\n\nFoo bar Step1:\n\nFoo bar Step2:\n\n\nFoo bar final

输出:

Some string\nFoo bar Step1:\nFoo bar Step2:\nFoo bar final

1个回答

4
你也能做到相同的事情。
rg := regexp.MustCompile(`(\r\n?|\n){2,}`)
s := "Some string\n\n\n\n\n\nFoo bar Step1:\n\nFoo bar Step2:\n\n\nFoo bar final"
result := rg.ReplaceAllString(s, "$1")
fmt.Printf("%q", result)
// "Some string\nFoo bar Step1:\nFoo bar Step2:\nFoo bar final"

https://go.dev/play/p/u-mfj7tXctO


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接