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);
            }
        }

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




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

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







13楼Senior_lee昨天 23:45
你这是跟字符串过去不得节奏啊
12楼xdd19910505昨天 22:35
和字符串拼到底
11楼wangyy130昨天 21:51
正则表达式多多实践吧
10楼chenfanglincfl昨天 20:54
正则表达式是比较缺少学习的
9楼u010540106昨天 20:42
我用的是Split
8楼tang_huan_11昨天 20:14
你这博客写成了系列了.
7楼u010073895昨天 20:13
方法多种多样,看你选哪个
6楼u013036404昨天 20:12
在这好好了解,为我之后做准备
5楼u012904383昨天 19:48
JS里面我刚刚学到这个了~
4楼u013045214昨天 19:35
总结的好详细,学习了。
3楼u010924845昨天 18:50
总结的不错,向你学习了……
2楼u010375663昨天 18:08
总结的不错,向你学习了……
1楼zc474235918昨天 17:26
这不就是传说中的 正则表达式啊