// ispangram.go
// description: Checks if a given string is pangram or not
// details: A pangram is a sentence or expression that uses all the letters of the alphabet.
// Reference: https://www.geeksforgeeks.org/pangram-checking/
// Author : Kavitha J
package pangram
import (
"regexp"
"strings"
)
func cleanString(text string) string {
cleanText := strings.ToLower(text) // Convert to lowercase
cleanText = strings.Join(strings.Fields(cleanText), "") // Remove spaces
regex, _ := regexp.Compile(`[^\p{L}\p{N} ]+`) // Regular expression for alphanumeric only characters
return regex.ReplaceAllString(cleanText, "")
}
func IsPangram(text string) bool {
cleanText := cleanString(text)
if len(cleanText) < 26 {
return false
}
var data = make(map[rune]bool)
for _, i := range cleanText {
data[i] = true
}
return len(data) == 26
}