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

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

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

转载
标签: 

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

相关文章

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

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

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA

Python实现中文大写金额转阿拉伯数字

《Python实现中文大写金额转阿拉伯数字》在财务票据中,中文大写金额被广泛使用以防止篡改,但在数据处理时,我们需要将其转换为阿拉伯数字形式,下面我们就来看看如何使用Python实现这一转换吧... 目录一、核心思路拆解二、中文数字解析实现三、大单位分割策略四、元角分综合处理五、测试验证六、全部代码在财务票

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下