删除文件一行,GO实现

假如有个文件1.txt,内容为:

PHP
GOLANG
提问
博客

现在要实现的功能是我要删除‘提问’这个词,并且下面的内容自动上移,最终文件内容为:

PHP
GOLANG
博客

如何用golang实现这么个小功能啊?

阅读 13.4k
3 个回答

文件小(100M以内的话),可以考虑正则替换。

package main

import (
        "fmt"
        "regexp"
)

func main() {
        src := `aaa
bbb
ccc`

        r := regexp.MustCompile("bbb\n")//匹配(提问+换行)
        fmt.Println(r)
        text := r.ReplaceAllString(src, "")
        fmt.Println("=====")
        fmt.Println(text)

}

此处略去如何把文件读入string和如何把string写回文件。
可以参考https://github.com/toolkits/file的。

https://github.com/toolkits/f... ToString
https://github.com/toolkits/f... WriteString

搜索第n和n+1个换行符,再用切片从新组合字符串即可

我感觉是 先读取 然后 替换。覆盖写入对应文件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题