argos/analyzeWords.go
analyzeWords.goRaw
1package main
2
3import (
4 "fmt"
5 "strings"
6
7 "github.com/dghubble/go-twitter/twitter"
8)
9
10func mapWords(text string, words map[string]int) map[string]int {
11 s := strings.Split(text, " ")
12
13 for _, v := range s {
14 //first, remove punctuation symbols
15 v = strings.Replace(v, ":", "", -1)
16 v = strings.Replace(v, ",", "", -1)
17 v = strings.Replace(v, ".", "", -1)
18 v = strings.Replace(v, "!", "", -1)
19 v = strings.Replace(v, "?", "", -1)
20 v = strings.Replace(v, "\n", "", -1)
21 if _, ok := words[v]; ok {
22 fmt.Println(v)
23 words[v] = words[v] + 1
24 } else {
25 words[v] = 1
26 }
27 }
28 return words
29}
30func analyzeWords(tweets []twitter.Tweet) map[string]int {
31 var words = make(map[string]int)
32
33 for _, v := range tweets {
34 words = mapWords(v.Text, words)
35 }
36
37 //get sorted list of frequency words
38 _ = printSortedMapStringInt(words, minNumWords)
39 fmt.Println(" ")
40 return words
41}