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

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

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

转载
标签: 

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

相关文章

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

C#如何去掉文件夹或文件名非法字符

《C#如何去掉文件夹或文件名非法字符》:本文主要介绍C#如何去掉文件夹或文件名非法字符的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#去掉文件夹或文件名非法字符net类库提供了非法字符的数组这里还有个小窍门总结C#去掉文件夹或文件名非法字符实现有输入字

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

通过cmd获取网卡速率的代码

《通过cmd获取网卡速率的代码》今天从群里看到通过bat获取网卡速率两段代码,感觉还不错,学习bat的朋友可以参考一下... 1、本机有线网卡支持的最高速度:%v%@echo off & setlocal enabledelayedexpansionecho 代码开始echo 65001编码获取: >