How to count the letters, spaces, numbers and other characters of a string in Go

1 Answer

0 votes
package main

import (
	"fmt"
	"regexp"
)

func countCharacters(s string) {
	onlyLettersRegex := regexp.MustCompile(`^[a-zA-Z]$`)
	letter, spaces, numbers, otherchars := 0, 0, 0, 0

	for _, char := range s {
		if onlyLettersRegex.MatchString(string(char)) {
			letter++
		} else if char >= '0' && char <= '9' {
			numbers++
		} else if char == ' ' {
			spaces++
		} else {
			otherchars++
		}
	}

	fmt.Println("letter:", letter)
	fmt.Println("space:", spaces)
	fmt.Println("number:", numbers)
	fmt.Println("other:", otherchars)
}

func main() {
	s := "Go $100%     Prog()ramming   99 !!!"

	countCharacters(s)
}


/*
run:

letter: 13
space: 10
number: 5
other: 7

*/

 



answered Aug 28, 2024 by avibootz
...