C#自写的SPLIT函数的代码

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 10:24 点击:
因为C#的SPLIT局限性比较大,只能用字符或字符数组来做分隔符。没有提供像VB一样的可以用字符串做分割符的SPLIT函数,这样在写程序过程中,少了很多便利。  于是,就写了如下一个函数来方便自己编程。

  程序如下:

以下是代码片段:
  using System; 
  using System.Collections; 
  namespace split 
  ...{ 
  class mySplit 
  ...{ 
  [STAThread] 
  static void Main(string[] args) 
  ...{ 
  string str1="",str2=""; 
  if(args.Length != 2) 
  ...{ 
  Console.WriteLine("请输入要分割的字符串:"); 
  str1 = Console.ReadLine(); 
  Console.WriteLine("请输入分割符:"); 
  str2 = Console.ReadLine(); 
  Console.WriteLine(" 分割出的数据如下: "); 
  } 
  else 
  ...{ 
  str1 = args[0]; 
  str2 = args[1]; 
  } 
  string[] output = null; 
  output = split(str1,str2); 
  for (int i=0; i < output.Length; i++) 
  ...{ 
  Console.WriteLine("{0}", output[i]); 
  } 
  Console.WriteLine(" 被分割成{0}份字符串!", output.Length); 
  TimeSpan sp1,sp2,sp3; 
  DateTime dt = DateTime.Now; 
  for(int i=0; i<1000; i++) 
  ...{ 
  output=split(str1,str2); 
  output=null; 
  } 
  sp1=DateTime.Now - dt; 
  //用&&符分割! 
  System.Text.RegularExpressions.Regex rg = new System.Text.RegularExpressions.Regex("&{2}"); 
  dt = DateTime.Now; 
  for(int j=0; j<1000; j++) 
  ...{ 
  output=rg.Split(str1); 
  output=null; 
  } 
  sp2=DateTime.Now - dt; 
  Console.WriteLine(" 正则式类执行时间:{0}", sp2.ToString()); 
  Console.WriteLine("自制函数执行时间:{0}", sp1.ToString()); 
  Console.WriteLine(" 输入回车退出程序!"); 
  Console.Read(); 
  } 
  //分割函数开始 
  public static string[] split(string strinput, string sp) 
  ...{ 
  string tmp=""; 
  int strlen=0, splen=0; 
  int found=0; 
  string[] rt = null; 
  try 
  ...{ 
  if(strinput==null || sp==null || strinput.Length==0 || sp.Length==0) return null; 
  //初始化一个数组列表(当做动态数组) 
  ArrayList tmp3 = new ArrayList(); 
  strlen = strinput.Length; 
  splen = sp.Length; 
  for(int i=0; i  
  ...{ 
  //查找分隔符 
  found = strinput.IndexOf(sp, i); 
  if(found>=0) 
  ...{ 
  tmp = ""; 
  //取分隔符前的字符串 
  tmp = strinput.Substring(i, found-i); 
  //添加到数组列表 
  tmp3.Add(tmp); 
  i = found+splen-1; 
  } 
  else 
  ...{ 
  string tmp2=""; 
  //取最后的字符串 
  tmp2 = strinput.Substring(i); 
  if(tmp2 !=&nbs
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 用C#制作屏幕捕获程序
    • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
    • 遍历ArrayList易犯错误
    • C#对XML操作:一个处理XML文件的类(1)
    • .NET简谈反射(动态调用)
    • 使用C#编写LED样式时钟控件
    • DataList嵌套问题 如何删除内层子DataList的记录
    • 怎样用C#实现完整文档打印功能
    • .NET简谈自定义事务资源管理器
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1