golang统计出其中英文字母、空格、数字和其它字符的个数

1年以前  |  阅读数:588 次  |    

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\n",e)
    fmt.Printf("字符串数字字符个数是: %d\n",d)
    fmt.Printf("字符串空格字符个数是: %d\n",s)
    fmt.Printf("字符串其它字符个数是: %d\n",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\n",num)
    fmt.Printf("字母个数%d\n",character)
    fmt.Printf("空格个数%d\n",blank)

    //其它字符
    specialcharacter = len(s) - num - character - blank

    fmt.Printf("其它字符个数%d\n",specialcharacter)
    fmt.Printf("总个数%d\n",len(s))
}

func main() {
    statisticalCharacterNumber("MemTotal: 100111 KB")
}

相关文章:


SSH 登录失败:Host key verification failed

PHP分页显示制作详细讲解

PHP自定义函数获取搜索引擎来源关键字的方法

将二进制数据转为16进制以便显示

在Zeus Web Server中安装PHP语言支持

Java生成UUID

让你成为最历害的git提交人

再谈PHP中单双引号的区别详解

获取IMSI

PHP实现简单爬虫的方法

Python 2与Python 3版本和编码的对比

php+ajax+json 详解及实例代码

wget使用技巧

php封装的page分页类完整实例

php实现数组中索引关联数据转换成json对象的方法

PHP设计模式之工厂模式与单例模式

桌面中心(一)创建数据库

php数组合并array_merge()函数使用注意事项

Yii2汉字转拼音类的实例代码

getAttribute和getAttributeNode