4
我主要需要讀取文件中特定行的範圍,並且如果字符串與索引字符串匹配(例如,說「Hello World!」)是的,但我不知道如何去做。我知道如何閱讀個人行和整個文件,但不知道行的範圍。有沒有可以提供幫助的圖書館,還是有一個簡單的腳本來完成它?任何幫助是極大的讚賞!前往:讀取文件中特定範圍的行
我主要需要讀取文件中特定行的範圍,並且如果字符串與索引字符串匹配(例如,說「Hello World!」)是的,但我不知道如何去做。我知道如何閱讀個人行和整個文件,但不知道行的範圍。有沒有可以提供幫助的圖書館,還是有一個簡單的腳本來完成它?任何幫助是極大的讚賞!前往:讀取文件中特定範圍的行
是這樣的?
package main
import (
"bufio"
"bytes"
"fmt"
"os"
)
func Find(fname string, from, to int, needle []byte) (bool, error) {
f, err := os.Open(fname)
if err != nil {
return false, err
}
defer f.Close()
n := 0
scanner := bufio.NewScanner(f)
for scanner.Scan() {
n++
if n < from {
continue
}
if n > to {
break
}
if bytes.Index(scanner.Bytes(), needle) >= 0 {
return true, nil
}
}
return false, scanner.Err()
}
func main() {
found, err := Find("test.file", 18, 27, []byte("Hello World"))
fmt.Println(found, err)
}
如果您使用for
通過線片進行迭代,你可以使用沿線的
for _,line := range file[2:40] {
// do stuff
}
正是東西!非常感謝你! – T145 2014-09-02 18:14:34