Golang : Detect words using using consecutive letters in a given string
Got an interesting question asked by a member of Go Programming Language Facebook group. He is asking how to return words that have consecutive letters in it. I'm assuming that he is referring to words such as Bookkeeper,toot-toot, veneer-room, and wood-deer.
Below is my answer. Hope this helps.
package main
import (
"fmt"
"strings"
)
func main() {
textString := "Bookkeeper and bookkeeping and sweet-toothed have three consecutive sets of double letters.Others are deer-reeve, feed-door, heel-loop, hoof-footed, hoot-toot, keek-keek, Soonnee, toot-toot, veneer-room, and wood-deer."
words := strings.Split(textString, " ")
// there could be more, but let's start with aa ee oo first.
doubleLetters := []string{"aa", "ee", "oo"}
fmt.Println(textString)
for i := 0; i < len(doubleLetters); i++ {
for _, word := range words {
if strings.Contains(word, doubleLetters[i]) {
fmt.Println("["+word+"] using consecutive letters")
}
}
}
}
You can see the output at https://play.golang.org/p/_MyPC7cJlN8
References:
See also : Golang : Extract part of string with regular expression
By Adam Ng(黃武俊)
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+5.9k Golang : Fix opencv.LoadHaarClassifierCascade The node does not represent a user object error
+4.4k Linux/MacOSX : Search and delete files by extension
+13.8k Golang : Image to ASCII art example
+8.2k Golang : Multiplexer with net/http and map
+15.7k Golang : Force download file example
+20.1k Golang : How to run your code only once with sync.Once object
+22.2k Golang : Join arrays or slices example
+12.6k Golang : "https://" not allowed in import path
+36.4k Golang : Convert(cast) int64 to string
+10k Golang : Turn string or text file into slice example
+7.4k Golang : Word limiter example
+17.2k Golang : Capture stdout of a child process and act according to the result