如何用新行替换文本文件中的行?
假设我打开了文件,并且我现在正在循环遍历字符串对象数组中的每一行
//find line with ']'
for i, line := range lines {
if strings.Contains(line, ']') {
//replace line with "LOL"
?
}
}
Run Code Online (Sandbox Code Playgroud)
Dal*_*osa 22
这里重要的不是你在那个循环中做的事情.这不像你将直接编辑文件.
最简单的解决方案是只更换数组中的字符串,然后在完成后将数组的内容写回文件.
这是我在一两分钟内汇总的一些代码.它可以在我的机器上正确编译和运行.
package main
import (
"io/ioutil"
"log"
"strings"
)
func main() {
input, err := ioutil.ReadFile("myfile")
if err != nil {
log.Fatalln(err)
}
lines := strings.Split(string(input), "\n")
for i, line := range lines {
if strings.Contains(line, "]") {
lines[i] = "LOL"
}
}
output := strings.Join(lines, "\n")
err = ioutil.WriteFile("myfile", []byte(output), 0644)
if err != nil {
log.Fatalln(err)
}
}
Run Code Online (Sandbox Code Playgroud)
还有一个要点(使用相同的代码) https://gist.github.com/dallarosa/b58b0e3425761e0a7cf6
归档时间: |
|
查看次数: |
15037 次 |
最近记录: |