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

 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. FTP多任务下载实现类

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  2. 版本控制简介,git使用----使用GitHub托管代码

    关于版本控制: 很久以前,人们苦于对写过的代码进行版本的管理,经常过了一段时间想恢复原来写过的代码却又忘了不知道丢到哪儿去了,有的人用加上时间后缀来命名文件的方法,便于后期维护,但是这样做的麻烦也很大 ...

  3. Ajax&Java

    AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML) 是一种基于浏览器的XMLHttpRequest对象实现的创建交互式网页应用的网页开发技 ...

  4. html/css 钢琴黑白格布局

    效果图:

  5. 用PHP解析类JSON字符串为数组的实现

    题目:把字符串嵌套关系转换成数组,字符串只包含成对中括号.数字和逗号字符串:(1,(1,2,(1,(1,2,(1)),3)),3,(1,(1,2,((1((1,(1,2,(1,2,3),4,5),3) ...

  6. vue新建项目

    一直都被如何用vue.js新建一个项目的问题困扰着,经过好久的实践,终于搞清楚如何用vue新建项目了: 1.官网对于vue-cli介绍: Vue.js provides an official CLI ...

  7. Shell中的空格和引号

    空格对于linux的shell是一种很典型的分隔符,所以给变量赋值的时候中间不能够有空格.而单引号和双引号,都是为了解决中间有空格的问题.比如string1=this is a string,这样执行 ...

  8. layout内容整理

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  9. 字符设备驱动之Led驱动学习记录

    一.概述 Linux内核就是由各种驱动组成的,内核源码中大约有85%的各种渠道程序的代码.一般来说,编写Linux设备驱动大致流程如下: 1.查看原理图,数据手册,了解设备的操作方法. 2.在内核中找 ...

  10. OC基础--Property

    编译器指令: 用来告诉编译器要做什么 @property: @property是编译器的指令 告诉编译器在@interface中自动生成setter和getter的声明 @synthesize: @s ...