zoukankan      html  css  js  c++  java
  • golang统计出其中英文字母、空格、数字和其它字符的个数

    方法一

    通过ASCII码表判断并统计

    package main
    import "fmt"
    func charactortype() {
    	var s2 string = "112aaaaFGG123        *&^%"
    	var e,s,d,o int
    	for i := o; i < len(s2); i++ {
    		switch {
    		case 64 < s2[i] && s2[i] < 91:
    			e += 1
    		case 96 < s2[i] && s2[i] < 123:
    			e += 1
    		case 47 < s2[i] && s2[i] < 58:
    			d += 1
    		case s2[i] == 32:
    			s += 1
    		default:
    			o += 1
    		}
    	}
    	fmt.Printf("字符串英文字符个数是: %d
    ",e)
    	fmt.Printf("字符串数字字符个数是: %d
    ",d)
    	fmt.Printf("字符串空格字符个数是: %d
    ",s)
    	fmt.Printf("字符串其它字符个数是: %d
    ",o)
    }
    
    func main() {
    	charactortype()
    }
    

    方法二

    通过regexp正则表达式匹配并统计

    package main
    import (
    	"fmt"
    	"regexp"
    )
    // 练习四: 统计一个字符串的字母,数字,空格,其他字符个数
    
    func statisticalCharacterNumber(s string) {
    	// 示例字符串
    	// var s = "MemTotal: 100111 KB"
    	// 创建正则匹配字母、数字、空格
    
    	// d 匹配数。 MustCompile必须
    	var rNum = regexp.MustCompile(`d`)
    
    	// [a-zA-Z] 匹配大小写字母
    	var rCharacter = regexp.MustCompile("[a-zA-Z]")
    
    	// 匹配空格
    	var rBlank = regexp.MustCompile(" ")
    
    	// 定义其它字符变量
    	var specialcharacter int
    
    	// 获取数字的个数
    	num := len(rNum.FindAllStringSubmatch(s,-1))
    	
    	// 获取字母的个数
    	character := len(rCharacter.FindAllStringSubmatch(s,-1))
    
    	// 获取空格的个数
    	blank := len(rBlank.FindAllStringSubmatch(s,-1))
    
    	fmt.Printf("数字个数%d
    ",num)
    	fmt.Printf("字母个数%d
    ",character)
    	fmt.Printf("空格个数%d
    ",blank)
    
    	//其它字符
    	specialcharacter = len(s) - num - character - blank
    
    	fmt.Printf("其它字符个数%d
    ",specialcharacter)
    	fmt.Printf("总个数%d
    ",len(s))
    }
    
    func main() {
    	statisticalCharacterNumber("MemTotal: 100111 KB")
    }
    
  • 相关阅读:
    For in
    For each.....in
    正则表达式
    DOM&&BOM
    字幕滚动
    web API种类
    应用程序接口
    for each in
    object constructor
    编程语言历史
  • 原文地址:https://www.cnblogs.com/Csir/p/9325163.html
Copyright © 2011-2022 走看看