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")
}
golang统计出其中英文字母、空格、数字和其它字符的个数的更多相关文章
- C语言习题1.分别统计一下其中字母,数字,其他字符的个数。将统计的字母,数字,其他字符的个数以柱状图的形式打印
从键盘上输入字符,(1)分别统计一下其中字母,数字,其他字符的个数, (2)将统计的字母,数字,其他字符的个数以柱状图的形式打印.例如 5 ***** ***** 3 ***** **** ...
- 程序一 用记事本建立文件src.dat,其中存放若干字符。编写程序,从文件src.dat中读取数据,统计其中的大写字母、小写字母、数字、其它字符的个数,并将这些数据写入到文件test.dat中。
用记事本建立文件src.dat,其中存放若干字符.编写程序,从文件src.dat中读取数据,统计其中的大写字母.小写字母.数字.其它字符的个数,并将这些数据写入到文件test.dat中. #inclu ...
- C语言 统计一串字符中空格键、Tab键、回车键、字母、数字及其他字符的个数(Ctrl+Z终止输入)
//凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ #include<stdio.h> void main(){ , num=, blank=, ...
- c语言输入一个字符串,统计其字母,数字和其他字符的个数,并以柱状图输出
#include<stdio.h>int main(int arge,char *argv[]){ char ch; int alp=0,num=0,oth=0,len,alp_start ...
- Java基础编程题——分别统计出其中汉字、英文字母、空格、数字和其它字符的个数
package com.yangzl.basic; import java.util.Scanner; /** * 分别统计出其中汉字.英文字母.空格.数字和其它字符的个数 * @author Adm ...
- python基础练习题(题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数)
day10 --------------------------------------------------------------- 实例017:字符串构成 题目 输入一行字符,分别统计出其中英 ...
- Java经典案例之-“统计英文字母、空格、数字和其它字符的个数”
/** * 描述:输入一行字符串,并且统计出其中英文字母.空格.数字和其它字符的个数. * 分析:利用for语句,条件为输入的字符不为 '\n ' * 作者:徐守威 */ package com.xu ...
- c - 统计字符串"字母,空格,数字,其他字符"的个数和行数.
#include <stdio.h> #include <ctype.h> using namespace std; /* 题目:输入一行字符,分别统计出其中英文字母.空格.数 ...
- 随机生成长度为len的密码,且包括大写、小写英文字母和数字
一道华三面试题,随机生成长度为len的密码,且包括大写.小写英文字母和数字,主要Random类的使用,random.nextInt(len)表示生成[0,len)整数.具体实现见下面代码,已经很详细了 ...
随机推荐
- PHP策略模式demo
<?php//策略模式就是你有很多的方法,选择一种适合自己的,// 单例模式就是只有一个实例对象,不需要每个文件都要加载,比如连接数据库,// 工厂模式就是//策略模式interface cha ...
- 4.1.2 A Funny Game(POJ 2484)
Problem description: n枚硬币排成一个圈,A和B轮流从中取一枚或两枚硬币,不过取两枚时,所取的两枚硬币必须是连续的.硬币取走之后留下空位,相隔空位的硬币视为不连续的.A开始先取,取 ...
- wordpress +window 走起~
一.安装XAMPP 1 百度搜索xampp后下载安装到D盘(安装时按默认勾选安装即可) 2 安装完后,点击Start来启动Apache和MySQL这两个服务 3 如果Apache服务不能启动,多数 ...
- bzoj3876: [Ahoi2014&Jsoi2014]支线剧情
题意:给一幅图,从1开始,每条边有边权最少走一遍,可以在任意点退出,问最小花费 题解:上下界费用流,每个边都流一遍,然后为了保证流量平衡,新建源点汇点,跑费用流把流量平衡 /************* ...
- js定义类
以下是es5标准里定义类的方法: function Point(x,y){ this.x=x; this.y=y; } Point.prototype.toString=function(){ ret ...
- js时间与时间戳互相转换
var _time1 = Date.parse(new Date(‘2017-05-02 00:00:00’))/1000; //将设定的日期转换为时间戳 _time1 = getLocalTime( ...
- python 常用代码
获取标签名 h1 class 是h1usersoup.find(name="h1", attrs={"class":"h1user"});获 ...
- InnoDB存储引擎介绍-(7) Innodb数据页结构
数据页结构 File Header 总共38 Bytes,记录页的头信息 名称 大小(Bytes) 描述 FIL_PAGE_SPACE 4 该页的checksum值 FIL_PAGE_OFFSET 4 ...
- spring cloud服务发现注解之@EnableDiscoveryClient与@EnableEurekaClient
使用服务发现的时候提到了两种注解,一种为@EnableDiscoveryClient,一种为@EnableEurekaClient,用法上基本一致,今天就来讲下两者,下文是从stackoverflow ...
- echarts-------饼形图
首先echarts是一个可以提供给用户体验效果更好的一个图形界面, Canvas 类库 ZRender. 1.下载echarts的js,可以在官方网址进行下载echarts.min.js 2.将下载下 ...