字符串切割

来源:互联网 发布:mac os 10.12.6 对比 编辑:程序博客网 时间:2024/05/17 06:55
以下代码都在vs.net2005/xp下测试通过

一.
///根据单个字符来切割
            
///


            
string str = "abcdefabcdefabcdefessssssss";
            
string[] strGroup = str.Split('f');//Split()返回的是string类型的数组,注意这里是以字符char类型的 'c'做为参数,不是string类型
            foreach (string i in strGroup)
                Console.WriteLine(i.ToString());
            Console.WriteLine(
"*****************************");
            
//*********************************

            
///根据多个字符来切割,即只要发现有这个几个字符里的任何一个或多个,它都会在这个位置开始切割
            
///


            
string[] strGroup1 = str.Split(new char[3'D''e''f' });
            
foreach (string i in strGroup1)
                Console.WriteLine(i.ToString());
如图1:

二.
//根据正则表达式来实现切割字符串切割的比较
添加 using System.Text.RegularExpressions;

            Console.WriteLine(
"以下是在正则表达式下用Split()后的显示");
            
string content = "agcsmallmacsmallgggSMallytx";
            
string[] resultString = Regex.Split(content, "small", RegexOptions.IgnoreCase);//注意RegexOptions是可以设置诸如大小写匹配等等属性
            foreach (string i in resultString)
                Console.WriteLine(i.ToString());
            Console.WriteLine(
"/n");



            Console.WriteLine(
"以下是字符串直接Split()后的显示");

            
string[] m = content.Split(new char[] 's''m''a''l''l' }, StringSplitOptions.RemoveEmptyEntries);
            
foreach (string i in m)
                Console.WriteLine(i.ToString());
如图:





三.使用匹配的正则表达式
///使用匹配的正则表达式 注意中间的*号数量不同,但是显示出来都没有空行。
            string str1 = "中******华****人***民**共*和******国";
            
string[] str2 = Regex.Split(str1, @"[*]+");//匹配的正则表达式如:@"[*]+"
            foreach (string i in str2)
                Console.WriteLine(i.ToString());
结果如图:
  
原创粉丝点击