写的一个简单的分割字符串的函数(附原码)

来源:互联网 发布:海康摄像机网络不可达 编辑:程序博客网 时间:2024/05/17 09:22

写的一个简单的分割字符串的函数(附原码)

using System;
using System.Collections;

namespace ConsoleApplication4
{
 /// <summary>
 /// Class1 的摘要说明。
 /// </summary>
 class Class1
 {
  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [STAThread]
  static void Main(string[] args)
  {
   //
   // TODO: 在此处添加代码以启动应用程序
   //
   string aa="a,;b,;ddd;e;f;yy";
   string[] bb=SplitString(aa,",;");
   for(int i = 0; i<bb.Length; i++)
   {
    System.Console.WriteLine(bb[i].ToString());
   }  
  }
  /// <summary>
  /// 根据指定的标记符,分隔字符串,并返回字符数组
  /// </summary>
  /// <param name="sourceString">要分隔的字符</param>
  /// <param name="splitChar">分隔标记符</param>
  /// <returns></returns>
  static string[] SplitString(string sourceString,string splitChar)
  {  
   int len = splitChar.Length;     
   ArrayList al = new ArrayList();
   int startPos = 0; //开始位置
   int j = -1; //匹配索引位置
   while(true)
   {
    j = sourceString.IndexOf(splitChar,startPos);
    if(j > -1)
    {
     al.Add(sourceString.Substring(startPos,j-startPos));
     startPos = j+len;    
    }
    else
    {
     al.Add(sourceString.Substring(startPos));
     break;
    }
   }
   string[] result;
   if(al.Count == 0)
   {
    string[] r = new string[1];
    r[0] = sourceString;
    result = r;
   }
   else
   {
    string[] r = new string[al.Count];
    for(int i = 0; i < al.Count; i++)
    {
     r[i] = al[i].ToString();
    }
    result = r;
   }
   return result;   
  }
 }
}

原创粉丝点击