访问文件内容中的每一个单词

编程语言 2026-07-12

我正在做一个项目,希望能够访问文件中的单词,而不是单独的字符,例如,"Welcome to my world" 应拆分为 "Welcome"、"to"、"my"、"world"。

package main

import ("fmt"
        "os"
)
func main(){
    file, err := os.ReadFile("sample.txt")
    if err != nil {
        fmt.Println("An error occures when trying to read the file")
    }
    for i := 0; i < len(file); i++{
        fmt.Println(string(file[i]))
    }

}

解决方案

说实话,这件事有不止一种实现方式。凭直觉,你可以把整个文件读入内存,然后把它分割成一个个独立的字符串单词。

file, err := os.ReadFile("sample.txt")
if err != nil {
    fmt.Println("An error occurred when trying to read the file")
    return
}

text := string(file)
words := strings.Fields(text)

for _, word := range words {
    fmt.Println(word)
}

或者,你也可以像其他评论者所说的那样,对内容进行缓冲和分块处理。

file, err := os.Open("sample.txt")
if err != nil {
    fmt.Println("Error opening file")
    return
}
defer file.Close()

scanner := bufio.NewScanner(file)
scanner.Split(bufio.ScanWords)

for scanner.Scan() {
    fmt.Println(scanner.Text())
}
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章