正则表达式可以快速判断所给字符串是否某种指定格式。这里将一些常用的方法封装进一个字符串工具类中。

 public static class StringTool
{
/// <summary>
/// 判断字符串是否纯数字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsNumber(string str)
{
return Regex.IsMatch(str, @"^[0-9]+$");
} /// <summary>
/// 判断字符串是否纯字母
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsLetter(string str)
{
return Regex.IsMatch(str, @"^[A-Za-z]+$");
} /// <summary>
/// 判断字符串是否字母或数字的组合
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsLetterOrNumber(string str)
{
return Regex.IsMatch(str, @"(?i)^[0-9a-z]+$");
} /// <summary>
/// 统计字符串中汉字个数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int CountChinese(string str)
{
return str.Count(c => Regex.IsMatch(c.ToString(), @"^[\u4E00-\u9FA5]{0,}$"));
} /// <summary>
/// 判断字符串是否纯中文
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsChinese(string str)
{
return Regex.IsMatch(str, @"^[\u4e00-\u9fa5],{0,}$");
} /// <summary>
/// 判断字符串中是否包含中文
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool HasChinese(string str)
{
return Regex.IsMatch(str, @"[\u4e00-\u9fa5]");
} /// <summary>
/// 统计字符串中全角字符个数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int CountSbcCase(string str)
{
return Encoding.Default.GetByteCount(str) - str.Length;
} /// <summary>
/// 判断字符串中是否包含全角字符
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool HasSbcCase(string str)
{
return CountSbcCase(str) > ;
} /// <summary>
/// 统计字符串中半角字符个数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int CountDbcCase(string str)
{
return str.Length - CountSbcCase(str);
} /// <summary>
/// 判断字符串中是否包含半角字符
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool HasDbcCase(string str)
{
return CountDbcCase(str) > ;
} /// <summary>
/// 判断字符串中是否符合邮箱格式
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsEmail(string str)
{
return Regex.IsMatch(str, @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
}
}

C#正则表达式匹配字符串的更多相关文章

  1. java中使用正则表达式匹配字符串

    在Java中使用正则表达式去匹配相应的字符串: String importFileRole = "(import)\\s*[a-zA-Z0-9_<>.]+\\;";// ...

  2. js正则表达式匹配字符串与优化过程

    前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...

  3. 【SQL查询】正则表达式匹配字符串

    1. 元字符说明 元字符 含义 ^ 匹配输入字符串的开始位置. $ 匹配输入字符串的结尾位置. * 匹配前面的字符零次或多次. + 匹配前面的字符一次或多次. ? 匹配前面的字符零次或一次. . 匹配 ...

  4. re正则表达式匹配字符串中的数字

    re.match(r'.*-(\d*).html',url_1).group(1) \d+匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字:\.?这个是匹配小数点的, ...

  5. 正则表达式匹配字符串中的数字 Python

    1.使用“\d+”匹配全数字 代码: import re zen = "Arizona 479, 501, 870. Carlifornia 209, 213, 650." m = ...

  6. java 正则表达式匹配字符串

    private static List<String> getImage(String str){ List<String> tmp=new ArrayList<Stri ...

  7. C# -- 正则表达式匹配字符之含义

    C#正则表达式匹配字符之含义 1.正则表达式的作用:用来描述字符串的特征. 2.各个匹配字符的含义: .   :表示除\n以外的单个字符 [ ]  :表示在字符数组[]中罗列出来的字符任意取单个 | ...

  8. python 正则表达式匹配IP地址

    一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...

  9. java 正则匹配空格字符串 正则表达式截取字符串

    java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...

随机推荐

  1. django服务器配置

    服务器配置是Ubuntu14.04 64位OS ubuntu14.04默认是安装好了python2.7版本不用自己安装了. 先更新下源 sudo apt-get update 第一步先安装pip su ...

  2. WinForm 窗体基本属性、公共控件

    一.WinForm:客户端程序制作 - C/S (B/S:服务器端) 它是基于.NET Framework框架上运行,不是必须在windows系统上才能运行---------------------- ...

  3. iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用

    一.UIPickerView UIPickerView是一个选择器控件,可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. 1.常用属性 (1)num ...

  4. 判断Sql Server2008中ntext不为空

    select * from 表名 where datalength(列名)=0 or datalength(列名) is null

  5. Linux 关机命令

    正确的关机流程是:sync –> shutdown/reboot/halt/poweroff sync 将数据由内存同步到硬盘中. shutdown 关机指令.例如你可以运行如下命令关机: sh ...

  6. 深入理解iOS开发中的BitCode功能

    前言 做iOS开发的朋友们都知道,目前最新的Xcode7,新建项目默认就打开了bitcode设置.而且大部分开发者都被这个突如其来的bitcode功能给坑过导致项目编译失败,而这些因为bitcode而 ...

  7. IOS Core Animation Advanced Techniques的学习笔记(五)

    第六章:Specialized Layers   类别 用途 CAEmitterLayer 用于实现基于Core Animation粒子发射系统.发射器层对象控制粒子的生成和起源 CAGradient ...

  8. HDU 4944 FSF’s game(2014 Multi-University Training Contest 7)

    思路:  ans[n]=  ans[n-1] + { (n,1),(n,2).....(n,n)}  现在任务 是 计算  { (n,1),(n,2).....(n,n)}(k=n的任意因子) 很明显 ...

  9. Unhandled exception at 0x........ in XXXX.exe: 0xC0000005:错误

    对于C++初学者或粗心者,很容易犯如下图所示错误:     那么该错误是由什么造成的呢?   答案无疑只有一个,即:读取了本该没有的值或者地址.   那么如何解决呢?   第一件事,检查下你传入的参数 ...

  10. android 有弹性的ScrollView 简单实现,与处理ScrollView和ListView,GridView之间的冲突

    处理ScrollView和ListView,GridView之间的冲突, 最好的办法就是继承这两个类,重写他们的onMeasure方法即可: ListView: import android.widg ...