如何从字符串中删除多个线路断裂`\ n`,但仅保留一个?

发布于 2025-01-23 10:40:21 字数 390 浏览 0 评论 0原文

在JavaScript上,我正在使用此REGEXP用一个 str.replace(/(/(\ r \ n?| \ n){2,}/g,'$ 1'),但对于Golang,我不确定会是什么。我该如何在Golang中实现这一目标?

输入:

一些字符串\ n \ n \ n \ n \ n \ n \ n \ nfoo bar step1:\ n \ nfoo bar step2:\ n \ n \ n \ n \ nfoo bar final final最终

输出

一些字符串\ nfoo bar step1:\ nfoo bar step2:\ nfoo bar final

At JavaScript, I was using this Regexp to replace multiple line break with one
str.replace(/(\r\n?|\n){2,}/g, '$1') but for golang I am not sure what it will be. How can I achieve this in golang?

Input:

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

Output

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

↙厌世 2025-01-30 10:40:21

你可以做同样的事情。

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/pplay/p/u-mfj7txcto

You can do the same.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文