首页 > 代码库 > C# 之 字符串截取--Regex.Match

C# 之 字符串截取--Regex.Match

        前两篇博客《C# 之 字符串截取--Substring》和《C# 之 字符串截取--Split》分别给大家介绍了Substring函数和Split函数,同时也实现了将"所属机构名称/教师姓名/课程类型/课程名称"中的所属机构名称,教师姓名,课程类型,课程名称分别截取出来的功能。今天又来给大家介绍一下怎么用正则表达式实现这个功能。


        Regex.Match方法:
在输入字符串中搜索匹配正则表达式模式的子字符串,并将第一个匹配项作为单个Match对象返回。


        Regex.Match方法的重载方法有六种类型,也都差不多,下面就主要给大家讲讲怎么用Regex.Match方法实现我们需要的功能:


        public Match Match(string input):在指定的输入字符串中搜索 Regex 构造函数中指定的正则表达式的第一个匹配项;参数:要搜索匹配项的字符串;返回结果:一个包含有关匹配的信息的Match对象。


Match对象:表示单个正则表达式匹配的结果。其中Match对象的Groups属性为:获取由正则表达式匹配的组的集合。

        如果我们要用Regex.Match方法,首先我们要添加using System.Text.RegularExpressions;这个引用。

static void Main(string[] args)
        {
            string s1 = "所属机构名称/教师姓名/课程类型/课程名称";

            //定义一个能够将我们需要的东西截取出来的正则表达式
            Regex regex = new Regex(@"(.*)/(.*)/(.*)/(.*)", RegexOptions.IgnoreCase);
            
            //显示每一个满足正则表达式的子字符串
            foreach (var i in regex.Match(s1).Groups)
            {
                Console.WriteLine(i);
            }
        }

技术分享




        Regex.Match方法也实现了我们想要的字符串截取功能,但是相比之前的Substring函数和Split函数来说,正则表达式的构造是我们的一个弱点。不过只要我们花一点时间去好好学习一下,其实正则表达式也没有那么难以理解...

        字符串截取函数现在就先总结这么多,或许还有其他更好的方法,以后再了解吧......







C# 之 字符串截取--Regex.Match