如何从字符串中删除多个换行符 `\n` 但只保留一个?
How to remove multiple line break `\n` from a string but keep only one?
在 JavaScript,我使用这个 Regexp 将多个换行符替换为一个
str.replace(/(\r\n?|\n){2,}/g, '')
但对于 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
你也可以这样做。
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, "")
fmt.Printf("%q", result)
// "Some string\nFoo bar Step1:\nFoo bar Step2:\nFoo bar final"
在 JavaScript,我使用这个 Regexp 将多个换行符替换为一个
str.replace(/(\r\n?|\n){2,}/g, '')
但对于 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
你也可以这样做。
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, "")
fmt.Printf("%q", result)
// "Some string\nFoo bar Step1:\nFoo bar Step2:\nFoo bar final"