Go語言字串中重複單詞計數


在許多應用程式中,統計單詞在一個字串中出現的次數非常重要。這對於生成詞頻統計、分析文字資料以及許多其他任務都很有用。在本文中,我們將探討如何統計Go語言字串中重複單詞的個數。

步驟1:將字串轉換為單詞陣列

統計重複單詞的第一步是將字串轉換為單詞陣列。這可以使用strings.Split()函式完成,該函式根據分隔符將字串分割成子字串陣列。

例如,考慮以下字串:

str := "the quick brown fox jumps over the lazy dog"

要將此字串轉換為單詞陣列,可以使用以下程式碼:

words := strings.Split(str, " ")

這將把字串分割成一個單詞陣列,陣列中的每個元素都是一個單獨的單詞。

步驟2:建立對映來儲存單詞計數

下一步是建立一個對映來儲存每個單詞的計數。在Go語言中,對映是一種內建的資料結構,允許我們儲存鍵值對。我們可以使用對映來儲存每個單詞的計數,其中鍵是單詞,值是計數。

可以使用以下程式碼建立一個空對映:

wordCount := make(map[string]int)

這將建立一個鍵為字串、值為整數的空對映。

步驟3:統計每個單詞出現的次數

一旦我們有了單詞陣列和空對映,我們就可以遍歷陣列中的每個單詞,並增加對映中對應鍵的計數。

for _, word := range words {
   _, exists := wordCount[word]
   if exists {
      wordCount[word] += 1
   } else {
      wordCount[word] = 1
   }
}

這段程式碼遍歷words陣列中的每個單詞,並檢查該單詞是否作為鍵存在於wordCount對映中。如果單詞存在,則將其鍵的計數加一。如果單詞不存在,則將該單詞作為新鍵新增到對映中,計數為一。

步驟4:列印結果

最後,我們可以列印單詞計數的結果。我們可以使用for迴圈遍歷wordCount對映中的鍵值對,並列印每個鍵值對。

for key, value := range wordCount {
   fmt.Printf("%s: %d\n", key, value)
}

這段程式碼遍歷wordCount對映中的每個鍵值對,並將鍵和值列印到控制檯。

整合程式碼

以下是Go語言字串中重複單詞計數的完整程式碼:

示例

package main

import (
   "fmt"
   "strings"
)

func main() {
   str := "the quick brown fox jumps over the lazy dog"
   words := strings.Split(str, " ")
   wordCount := make(map[string]int)

   for _, word := range words {
      _, exists := wordCount[word]
      if exists {
         wordCount[word] += 1
      } else {
         wordCount[word] = 1
      }
   }

   for key, value := range wordCount {
      fmt.Printf("%s: %d\n", key, value)
   }
}

輸出

brown: 1
fox: 1
jumps: 1
over: 1
lazy: 1
dog: 1
the: 2
quick: 1

結論

統計Go語言字串中重複單詞的個數對於許多應用程式來說是一種有用的技術。透過將字串分割成單詞陣列並使用對映來儲存每個單詞的計數,我們可以快速地……

更新於:2023年4月7日

瀏覽量:1K+

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.