using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SplitImplement
{
class SplitImplement
{
//========================================================================
// メソッド名 : Main
/// <summary>
/// Main
/// </summary>
/// <remarks>
/// 实现Split方法
/// </remarks>
/// <param name="args"></param>
//========================================================================
static void Main(string[] args)
{
string str = "a,2.3,b,df,re,ab";
List<string> arr = Split(str, ',', '.','b');
foreach (string s in arr)
{
Console.WriteLine(s);
}
Console.ReadKey();
}
//========================================================================
// メソッド名 : Split
/// <summary>
/// Split方法
/// </summary>
/// <remarks>
/// List<string> Split(string str, params char[] splitCharList)
/// </remarks>
/// <param name="str"></param>
/// <param name="splitchar"></param>
/// <returns></returns>
//========================================================================
public static List<string> Split(string str, params char[] splitchar)
{
List<string> list = new List<string>();
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
char c = str[i];
bool needReflesh = false;
foreach (char ch in splitchar)
{
if (ch == c)
{
needReflesh = true;
break;
}
}
if (needReflesh == true)
{
if (stringBuilder.Length > 0)
{
list.Add(stringBuilder.ToString());
stringBuilder.Clear();
}
}
else
{
stringBuilder.Append(c);
}
}
if (stringBuilder.Length > 0)
{
list.Add(stringBuilder.ToString());
}
return list;
}
}
}