判断字符的类别:数字、字母、汉字、非中文宽字符还是标点符号
2013-03-26 11:46
323 查看
最近在做一个字符串排序的东西,排序的规则有点儿变态,它要求字母、非中文宽字符、中文、数字、标点符号的优先级以此降低,因此我需要知道当前字符到底是什么类别的,查了一些资料,加上自己的一些摸索,写了一个判别方法,求指导:
首先是一个判断是否为中文的方法,用的是正则表达式:
然后是判别方法:
返回值: 0标示字母,1标示非中文宽字符,2标示中文,3标示数字,4标示标点符号
首先是一个判断是否为中文的方法,用的是正则表达式:
public static bool IsChineseCh(string input) { Regex regex = new Regex("^[\u4e00-\u9fa5]+$"); return regex.IsMatch(input); }
然后是判别方法:
返回值: 0标示字母,1标示非中文宽字符,2标示中文,3标示数字,4标示标点符号
private int GetCharRepresent(char ch) { if (char.IsPunctuation(ch) || char.IsSeparator(ch) || char.IsSymbol(ch)) return 4; if ((int)ch > 255) { string chStr = ch.ToString(); if (!IsChineseCh(chStr)) return 1;//非中文宽字符 else return 2;//中文 } else if ((int)ch <= 255) { if (char.IsLetter(ch)) return 0;//字母 else if (char.IsNumber(ch)) return 3;//数字 else return 4;//其他字符 } else throw new ArgumentException(ch.ToString()); }
相关文章推荐
- iOS中 判断字符串 中文字符 字母 数字 以及下划线
- 【学习笔记】判断输入的一个字符 是字母 还是数字 或者是空格
- 判断字符串是否仅为数字/首字符是否为字母/汉字
- android判断EditText输入的数字、中文还是字母方法
- Java判断是不是汉字、中文、英文字母和数字
- android判断EditText输入的数字、中文还是字母方法
- shell case语句 判断一个字符是字母还是数字
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- iOS 判断第一个字符是数字还是汉字
- Android 判断字符串是数字、中文还是字母的方法
- android 判断EditText中输入的值是数字、字母还是汉字的方法
- js脚本系列(1) JS判断输入字符串长度(汉字算两个字符,字母数字算一个)
- SQL编程:判断一个字符是数字字符、字母字符还是其他字符
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- VC判断一个UNICODE字符串中字母、数字、汉字、其他字符的个数
- java小练习:输入一个字符,判断该字符是数字?英文字母?还是其他字符
- android判断EditText输入的数字、中文还是字母方法
- java判断scanner输入是中文、英文字母、数字还是特殊字符
- 获取包含中文,字母,数字集合的字符串的长度(1个汉字字符存储需要2个字节,1个英文字符存储需要1个字节)
- 判断字符是数字还是字母