本文介绍使用 go 标准库 `regexp` 高效过滤掉 `[]byte` 或字符串中包含特定子串的整行,支持跨平台换行符(`\n`/`\r\n`),并提供可直接运行的示例与关键注意事项。
在 Go 中,若需像 Ruby 的 split("\n").reject{|r| r.include?('substring')}.join("\n") 那样移除包含某子串的整行,推荐使用正则
表达式配合多行模式((?m))实现——它能让 ^ 和 $ 分别匹配每行的开头与结尾,而非仅整个字符串首尾。
以下是一个完整、健壮的实现示例(支持 \n 和 \r\n 换行):
package main
import (
"fmt"
"regexp"
)
func removeLinesContaining(s, substr string) string {
// 构造正则:多行模式下匹配整行(含前导换行符),确保删除后不残留空行
// 使用 [\r\n]+ 匹配行首可能的换行符,^.*substr.*$ 匹配含子串的整行
pattern := "(?m)[\\r\\n]+^.*" + regexp.QuoteMeta(substr) + ".*$"
re := regexp.MustCompile(pattern)
result := re.ReplaceAllString(s, "")
// 可选:去除开头可能残留的换行符(如首行被删)
if len(result) > 0 && (result[0] == '\n' || result[0] == '\r') {
result = regexp.MustCompile(`^[\\r\\n]+`).ReplaceAllString(result, "")
}
return result
}
func main() {
s := `aaaaa
bbbb
cc substring ddd
eeee
ffff`
res := removeLinesContaining(s, "substring")
fmt.Println(res)
}输出结果:
aaaaa bbbb eeee ffff
✅ 关键要点说明:
综上,对于中小规模文本或注重代码可读性的场景,基于 regexp 的方案是 Go 中最贴近 Ruby 风格、兼顾正确性与简洁性的首选解法。
# linux
# go
# 正则表达式
# windows
# mac
# ai
# macos
# win
# cos
# 代码可读性
# 标准库
# ruby
# String
# include
# 字符串
# regexp
# 换行符
# 移除
# 是一个
# 推荐使用
# 能让
# 更高
# 可选
# 所示
# 再用
# 可直接
相关文章:
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
动图在线制作网站有哪些,滑动动图图集怎么做?
建站主机选哪种环境更利于SEO优化?
如何在阿里云服务器自主搭建网站?
开封网站制作公司,网络用语开封是什么意思?
制作旅游网站html,怎样注册旅游网站?
建站之星在线版空间:自助建站+智能模板一键生成方案
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
已有域名建站全流程解析:网站搭建步骤与建站工具选择
如何在香港服务器上快速搭建免备案网站?
红河网站制作公司,红河事业单位身份证如何上传?
建站之星后台管理系统如何操作?
贸易公司网站制作流程,出口贸易网站设计怎么做?
C++如何使用std::optional?(处理可选值)
建站之星安装需要哪些步骤及注意事项?
Python路径拼接规范_跨平台处理说明【指导】
javascript中的try catch异常捕获机制用法分析
建站VPS选购需注意哪些关键参数?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
建站之星伪静态规则如何正确配置?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
建站之星ASP如何实现CMS高效搭建与安全管理?
Thinkphp 中 distinct 的用法解析
如何安全更换建站之星模板并保留数据?
如何通过西部建站助手安装IIS服务器?
如何选择网络建站服务器?高效建站必看指南
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
如何将凡科建站内容保存为本地文件?
如何用y主机助手快速搭建网站?
Python lxml的etree和ElementTree有什么区别
建站之星免费模板:自助建站系统与智能响应式一键生成
如何在企业微信快速生成手机电脑官网?
如何快速搭建高效可靠的建站解决方案?
建站之星×万网:智能建站系统+自助建站平台一键生成
外贸公司网站制作,外贸网站建设一般有哪些步骤?
网站代码制作软件有哪些,如何生成自己网站的代码?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
海南网站制作公司有哪些,海口网是哪家的?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
如何在云服务器上快速搭建个人网站?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
网站制作话术技巧,网站推广做的好怎么话术?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何选择适配移动端的WAP自助建站平台?
建站之星如何取消后台验证码生成?
建站之星价格显示格式升级,你的预算足够吗?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
实例解析angularjs的filter过滤器
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
*请认真填写需求信息,我们会在24小时内与您取得联系。