gpt4 book ai didi

go - 使用 Golang,如何读取 2 个字符之间的文件内容

转载 作者:数据小太阳 更新时间:2023-10-29 03:37:43 25 4
gpt4 key购买 nike

所以我真的很想学习围棋,然而它是一门比我想象的要难得多和令人困惑的语言。我的目标是编写一个程序来编辑 dns 文件。第一步是打开一个文件并将其读入内存。好的,这很容易用 ioutil.Readfile 完成。所以接下来我需要做的是只读 SOA 或读到遇到“)”为止。我到底该怎么做?该文件如下所示:

example.com.    SOA     dns1.example.com. hostmaster.example.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day

理想情况下,程序应以包含“SOA”的行开始,以“)”结束,并识别“;”。我应该从哪里开始呢?

最佳答案

实现完全控制的一种方法是使用 text/scanner这是您的案例示例: http://play.golang.org/p/_9LddtB7R9

package main

import (
"fmt"
"strings"
)
import "text/scanner"

var dnsRecord = `example.com. SOA dns1.example.com. hostmaster.example.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
`

func main() {

var s scanner.Scanner
s.Init(strings.NewReader(dnsRecord))
tok := s.Scan()
for tok != scanner.EOF {
// do something with tok
tok = s.Scan()
fmt.Println(s.TokenText())
}

}

否则,您可以使用正则表达式来匹配特定行 http://golang.org/pkg/regexp/

关于go - 使用 Golang,如何读取 2 个字符之间的文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27932451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com