获取字符串中的数字、符号、中文、英文单词、字母、空格、字节、其他字符的个数

本文主要是介绍获取字符串中的数字、符号、中文、英文单词、字母、空格、字节、其他字符的个数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

获取字符串中的数字、符号、中文、英文单词、字母、空格、字节、其他字符的个数

转载
标签: 

it

分类: java

//英文单词:根据正则获取
        private static int GetWordCountByRegular(string str)
        {
            //统计英文单词个数
            Regex re = new Regex(@"\b\w+\b");
            MatchCollection ma = re.Matches(str);
            return ma.Count;
        }


        //数字
        public static int GetNumberCount(string str)
        {
            int count = 0;
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] != '\0')
                {
                    if (str[i] >= '0' && str[i] <= '9')
                    {
                        count++;
                    }
                }
            }
            return count;
        }

        //字母
        public static int GetLetterCount(string str)
        {
            int count = 0;
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] != '\0')
                {
                    if (((str[i] >= 'a' && str[i] <= 'z')) || ((str[i] >= 'A' && str[i] <= 'Z')))
                    {
                        count++;
                    }
                }
            }
            return count;
        }

        //中文字符
        public static int GetChineseCount(String str)
        {
            //中文个数=字节数-字符数
            return Encoding.GetEncoding("gb2312").GetBytes(str).Length - str.Length;
        }

        //中文字符:根据Unicode编码范围
        private static int GetChineseCountByUnicode(string str)
        {
            int count = 0;

            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] >= 0X4e00 && str[i] <= 0X9fa5)
                {
                    count++;
                }
            }
            return count;
        }

        //中文字符:根据正则获取
        private static int GetChineseCountByRegular(String str)
        {
            Regex re = new Regex("[\u4e00-\u9fa5]");
            MatchCollection ma = re.Matches(str);
            return ma.Count;
        }

        //空格
        public static int GetSpaceCount(String str)
        {
            int count = 0;
            foreach (char ch in str)
            {
                if (ch == 32) //ASCII编码:32为空格符.当然你也可以判断空字符:ch==' '
                {
                    count++;
                }
            }

            return count;
        }

        //标点符号
        public static int GetSymbolCount(String str)
        {
            //ASCII编码中的符号范围:32-47、58-64、91-96、123-126
            int count = 0;
            foreach (char ch in str)
            {
                if ((ch >= 32 && ch <= 47) || (ch >= 58 && ch <= 64) || (ch >= 91 && ch <= 96) || (ch >= 123 && ch <= 126))
                {
                    count++;
                }
            }

            return count;
        }

        //其他字符
        public static int GetOtherCount(String str)
        {
            return str.Length - GetNumberCount(str) - GetLetterCount(str) - GetChineseCount(str)
                - GetSpaceCount(str) - GetSymbolCount(str);
        }

        //字节
        public static int GetByteCount(String str)
        {
            return Encoding.Default.GetBytes(str).Length;
        }

这篇关于获取字符串中的数字、符号、中文、英文单词、字母、空格、字节、其他字符的个数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973442

相关文章

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

C# 空值处理运算符??、?. 及其它常用符号

《C#空值处理运算符??、?.及其它常用符号》本文主要介绍了C#空值处理运算符??、?.及其它常用符号,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、核心运算符:直接解决空值问题1.??空合并运算符2.?.空条件运算符二、辅助运算符:扩展空值处理

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

golang实现nacos获取配置和服务注册-支持集群详解

《golang实现nacos获取配置和服务注册-支持集群详解》文章介绍了如何在Go语言中使用Nacos获取配置和服务注册,支持集群初始化,客户端结构体中的IpAddresses可以配置多个地址,新客户... 目录golang nacos获取配置和服务注册-支持集群初始化客户端可选参数配置new一个客户端 支

tomcat日志中文乱码问题及解决方案

《tomcat日志中文乱码问题及解决方案》文章主要介绍了在使用Tomcat时遇到的乱码问题及其解决方法,页面输出乱码可能由于server.xml配置、HTML标签、编程输出编码不一致引起,解决方法包括... 目录一、页面输出乱码1.server.XML配置未注明编码格式2.catalina.bawww.cp

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常