Contar el número de palabras repetidas en una string de Golang

Dada una string, la tarea es contar el número de palabras que se repiten en esa string en particular en Golang.

Ejemplo:

Input: s = "She is mother of my mother."
Output: She = 1     
         is = 1
         mother = 2
         of = 1
         my = 1

Para contar el número de palabras repetidas, primero, la string se toma como entrada y luego se usa la función strings.Fields() para dividir la string. Se define una función «repetición» para contar el número de palabras que se repiten.

A continuación se muestra el programa en Golang para contar el número de palabras repetidas en una string dada.

// Golang program to count the number of
// repeating words in given Golang String
package main
  
import (
    "fmt"
    "strings"
)
  
func repetition(st string) map[string]int {
  
    // using strings.Field Function
    input := strings.Fields(st)
    wc := make(map[string]int)
    for _, word := range input {
        _, matched := wc[word]
        if matched {
            wc[word] += 1
        } else {
            wc[word] = 1
        }
    }
    return wc
}
  
// Main function
func main() {
    input := "betty bought the butter , the butter was bitter , " +
        "betty bought more butter to make the bitter butter better "
    for index, element := range repetition(input) {
        fmt.Println(index, "=", element)
    }
}

Producción:

the = 3
, = 2
bitter = 2
to = 1
make = 1
better = 1
betty = 2
bought = 2
butter = 4
was = 1
more = 1

Explicación: En el programa anterior, primero tomamos una string como entrada y luego dividimos esa string usando la función strings.Fields(). Si se ha producido la misma palabra, el recuento aumenta en uno; de lo contrario, se devuelve el valor 1, lo que implica que la palabra aparece solo una vez en la string.

Publicación traducida automáticamente

Artículo escrito por preetikagupta8171 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *