package main import "fmt" type StrReplaceStruct struct { CapitalLetter int `json:"capital_letter"` LowercaseLetters int `json:"lowercase_letters"` Number int `json:"number"` OtherString int `json:"other_string"` } func StrReplaceAllString(s2 string) (strReplace StrReplaceStruct) { for i := strReplace.OtherString; i < len(s2); i++ { switch { case 64 < s2[i] && s2[i] < 91: strReplace.CapitalLetter += 1 case 96 < s2[i] && s2[i] < 123: strReplace.LowercaseLetters += 1 case 47 < s2[i] && s2[i] < 58: strReplace.Number += 1 default: strReplace.OtherString += 1 } } return strReplace } func main() { str := "1234a!~`@#$*()-+=_%^&!sJKLOP" fmt.Println("字符串:", str) strs := StrReplaceAllString(str) fmt.Printf("字符串大寫英文字符個數是: %d\n", strs.CapitalLetter) fmt.Printf("字符串小寫英文字符個數是: %d\n", strs.LowercaseLetters) fmt.Printf("字符串數字字符個數是: %d\n", strs.Number) fmt.Printf("字符串特殊字符個數是: %d\n", strs.OtherString) }
英文下特殊字符一個符號是1位,中文下的特殊字符一個符號是3位,一個漢字占用特殊字符4位。