Home
Go
String First Words
Updated Sep 12, 2023
Dot Net Perls
First words. A string has words. It contains a sentence, a paragraph. Words are separated with spaces. With a special func we can extract the first words in the sentence.
By counting spaces, we can estimate the number of words. This is not perfect. Extra logic to handle hyphens and punctuation might be needed.
Example func. The firstWords func receives to arguments: a string and a count. The count int is the number of words in our result.
Start We use a for-loop to count spaces. We decrement the count by 1 (meaning one less word is remaining to be counted).
for
Return We return a substring to the current index when the required number of spaces are found. We do not include the trailing space.
package main import "fmt" func firstWords(value string, count int) string { // Loop over all indexes in the string. for i := range value { // If we encounter a space, reduce the count. if value[i] == ' ' { count -= 1 // When no more words required, return a substring. if count == 0 { return value[0:i] } } } // Return the entire string. return value } func main() { value := "there are many reasons" // Test our first words method. result1 := firstWords(value, 2) fmt.Println("[" + result1 + "]") result2 := firstWords(value, 3) fmt.Println(result2) result3 := firstWords(value, 100) fmt.Println(result3) }
[there are] there are many there are many reasons
Entire string, notes. If you pass a large value to firstWords, like 100, the entire string is returned. The argument 0 may need to be special-cased depending on your requirements.
Substrings are complex. Each language has special syntax for them. In Go we use a slice of a string. We can extract parts of strings, like the first several words, with this syntax.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Sep 12, 2023 (edit).
Home
Changes
© 2007-2025 Sam Allen