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)整数.具体实现见下面代码,已经很详细了 ...
随机推荐
- 6.4 操作契约 Operation Contracts
4.操作契约 Operation Contracts “用例描述”的补充 强调: 用例中重要的动作,其开始与结束是需要一些约束 4.5 操作契约的后置条件 定义Definition 后 ...
- Tree总结
树结构问题因为容易写出解法,因此经常出现在面试题中 1. 树的种类 1) Tree 2) Binary Trees 3) Binary Search Trees(BST) : used to sort ...
- 百度基础架构组-实习生面试(2016.08 java后台开发)
一.项目 1.Spring MVC与Struts2的区别: 2.MVC三层是如何工作的?比如:要访问一个Url?a=xx&b=xx,怎么找到相应的资源,怎么运算,怎么返回等? 3.数据库myb ...
- csu oj 1344: Special Judge
Description Given a positive integer n, find two non-negative integers a, b such that a2 + b2 = n. I ...
- 安卓——Activity生命周期、
在xml 设计页面添加标签 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmln ...
- Oracle Cursor用法总结
cursor分为三种,一是直接声明为cursor变量,二是首先声明类型再声明变量,三是声明为sys_refcursor. (1)直接声明 declare cursor emp_cur is sele ...
- 精通Oracle的关键是……(Ask Tom上最经常被问到的问题)(转)
原文地址:http://www.ituring.com.cn/article/37548 这是我在asktom上最经常收到的问题:我需要怎么做才能变成一个专家呢?关于Oracle,有这样的一个关键事物 ...
- JAVA 两个对象不同为什么他们的hashcode有可能相同
hashCode是所有java对象的固有方法,如果不重载的话,返回的实际上是该对象在jvm的堆上的内存地址,而不同对象的内存地址肯定不同,所以这个hashCode也就肯定不同了.如果重载了的话,由于采 ...
- Qt_阴影效果
一.控件阴影效果 为子部件添加阴影比较简单,使用如下方式: QGraphicsDropShadowEffect *shadow_effect = new QGraphicsDropShadowEffe ...
- JQuery的选择器的简单介绍
1.jquery工厂函数 介绍Jquery选择器前,先来说一下JQuery的工厂函数"$",在JQuery中,无论使用哪种类型选择符都要从一个“$”符号和一对“()”开始. 在“( ...