博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取字符串中的数字、符号、中文、英文单词、字母、空格、字节、其他字符的个数...
阅读量:5266 次
发布时间:2019-06-14

本文共 1964 字,大约阅读时间需要 6 分钟。

       
//
英文单词:根据正则获取
        
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;
        }

转载于:https://www.cnblogs.com/jhxk/articles/2639122.html

你可能感兴趣的文章
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
A-Softmax的总结及与L-Softmax的对比——SphereFace
查看>>
UVa 11059 最大乘积
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
composer 报 zlib_decode(): data error
查看>>
linux下WPS的使用
查看>>
Web Api 利用 cors 实现跨域
查看>>
hdu 3938 并查集
查看>>
instanceof
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
2015/8/4 告别飞思卡尔,抛下包袱上路
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>