golang 在文本文档中查找到指定内容要怎么才能读取整行

package main

import (
"bufio"
"bytes"
"fmt"
"io/ioutil"
"log"
"strings"
)

func main() {
content, err := ioutil.ReadFile("/usr/share/applications/gvim.desktop")
if err != nil {
log.Fatal(err)
}
index := strings.Index(string(content), "text/plain")
if index > -1 {
br := bufio.NewReader(bytes.NewReader(content[index:]))
line, err := br.ReadString('\n')
if err != nil {
log.Fatal(err)
}
fmt.Println(line)
}
}

这个只能读取到"text/plain”开始的这行内容,读取不到这行"text/plain”前面的内容。请问需要怎么修改才能读取到整行?

这一行的内容是:ubuntu-MimeType=text/plain;textp
这段代码只读取到了text/plain;textp 我乡读取的是这整行内容。

package main

import (
"fmt"
"io/ioutil"
"log"
"strings"
)

func main() {
content, err := ioutil.ReadFile("/usr/share/applications/gvim.desktop")
if err != nil {
log.Fatal(err)
}
lines := strings.Split(string(content), "\n")
for _, v := range lines {
trimline := strings.TrimSpace(v)
if strings.Contains(trimline, "text/plain") {
fmt.Println(trimline)
}
}
}

追问

采用这种遍历和查找相比哪个效率高些啊?

追答

看不出区别,你可以自己用time分析分析,实践是检验真理的唯一标准

温馨提示:答案为网友推荐,仅供参考
相似回答