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)整数.具体实现见下面代码,已经很详细了 ...
随机推荐
- scrapy 爬虫框架(一)
一 . scrapy 的安装 安装scrapy框架时,需要先安装依赖包. #Linux: pip3 install scrapy #Windows: a. pip3 install wheel b. ...
- jquery插件中找到好玩插件 http://www.jq22.com/
超实用的angular.js无刷新分页完整案例 http://www.jq22.com/jquery-info14714 js联动选择插件mobileSelect.js http://www.jq22 ...
- 电影《Green book》观后感_已补全:携带着种族歧视的“光环”,艰难地获得朋友的相互依赖,依然得享受生活的酸甜苦咸。
目录 1.电影基本情况介绍 2.故事整个发展经历 3.观影感受 4.网友评论 <Green book>--绿皮书 作者总共看这部影片三次,第一次英文版慢看,第二次中文版快看,第三次中文版总 ...
- 『TensorFlow』SSD源码学习_其四:数据介绍及TFR文件生成
Fork版本项目地址:SSD 一.数据格式介绍 数据文件夹命名为VOC2012,内部有5个子文件夹,如下, 我们的检测任务中使用JPEGImages文件夹和Annotations文件夹. JPEGIm ...
- 函数使用八:BP_EVENT_RAISE
此函数是关联触发一个已经定义的事件,这个事件可以放到SM36里设置JOB,这样就做成了一个事件触发JOB的东西. Import EVENTID 事件ID ,对应S ...
- Ajax请求中的async:false/true的作用【转载】
[Ajax请求中的async:false/true的作用] 作者:https://www.cnblogs.com/mmzuo-798/p/7098979.html 前言: 昨天在做倒计时修改的时候,发 ...
- 【Python】Anaconda配置
Anaconda 是一个用于科学计算的Python发行版,支持 Linux.Mac.Windows 系统,提供了包管理与环境管理的功能,可以很方便地解决多版本 Python 并存.切换以及各种第三方包 ...
- Hadoop格式化 From hu-hadoop1/192.168.11.11 to hu-hadoop2:8485 failed on connection exception: java.net.
192.168.11.12:8485: Call From hu-hadoop1/192.168.11.11 to hu-hadoop2:8485 failed on connection excep ...
- win10 将本地项目上传到github (第一次+再次上传)
推荐网址: https://blog.csdn.net/zamamiro/article/details/70172900 https://blog.csdn.net/qq_15800305/arti ...
- pandas报错处理:TypeError: Empty 'DataFrame': no numeric data to plot
Tushare返回的是pandas的DataFrame格式,但是执行以下代码时报错:TypeError: Empty 'DataFrame': no numeric data to plot impo ...