arnaucube
arnaucube/argosPublic Self-hosted repository
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}