:
public static class SplitExtension
{
public static string[] Split(this string self, char separator, int occurrence)
{
return self.Split(new string(separator, 1), occurrence);
}
public static string[] Split(this string self, string separator, int occurrence)
{
string[] chunks = self.Split(new[] { separator }, StringSplitOptions.None);
string firstPart = string.Join(separator, chunks.Take(occurrence)) + separator;
string secondPart = string.Join(separator, chunks.Skip(occurrence));
return new string[] { firstPart, secondPart };
}
}
... :
string input = "[Wed Dec 17 14:40:28 2014] [error] [client 143.117.101.166] File does not exist";
string[] output = input.Split(']', 3);