golang 字符串中查找大小寫字母、數字、特殊字符的個數


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位。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM