Files
BepInEx/Projects/BanquetForFools/Source/Assembly-CSharp/StringSplitter.cs
2025-05-21 20:40:04 +02:00

419 lines
9.6 KiB
C#

using System;
// Token: 0x02000092 RID: 146
internal class StringSplitter
{
// Token: 0x06000E2A RID: 3626 RVA: 0x0010FC3F File Offset: 0x0010DE3F
public StringSplitter(int bufferSize)
{
this.buffer = new string[bufferSize];
}
// Token: 0x1700001B RID: 27
// (get) Token: 0x06000E2B RID: 3627 RVA: 0x0010FC53 File Offset: 0x0010DE53
public string[] Results
{
get
{
return this.buffer;
}
}
// Token: 0x06000E2C RID: 3628 RVA: 0x0010FC5C File Offset: 0x0010DE5C
public int Split(string value, char separator)
{
int num = 0;
int num2 = 0;
for (int i = 0; i < value.Length; i++)
{
if (value[i] == separator)
{
this.buffer[num] = value.Substring(num2, i - num2);
num++;
num2 = i + 1;
}
}
this.buffer[num] = value.Substring(num2, value.Length - num2);
return num + 1;
}
// Token: 0x06000E2D RID: 3629 RVA: 0x0010FCC0 File Offset: 0x0010DEC0
public int SafeSplit(string value, char separator)
{
int num = 0;
int num2 = 0;
for (int i = 0; i < value.Length; i++)
{
if (value[i] == separator)
{
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, i - num2);
num++;
num2 = i + 1;
}
}
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, value.Length - num2);
return num + 1;
}
// Token: 0x06000E2E RID: 3630 RVA: 0x0010FD60 File Offset: 0x0010DF60
public int Split(string value, string separator)
{
int num = 0;
int num2 = 0;
int num3 = value.Length - separator.Length;
for (int i = 0; i < num3; i++)
{
bool flag = true;
int num4 = 0;
while (num4 < separator.Length && num4 + i < value.Length)
{
if (value[i + num4] != separator[num4])
{
flag = false;
break;
}
num4++;
}
if (flag)
{
this.buffer[num] = value.Substring(num2, i + separator.Length - num2 - separator.Length);
num++;
num2 = i + separator.Length;
i += separator.Length - 1;
}
}
this.buffer[num] = value.Substring(num2, value.Length - num2);
return num + 1;
}
// Token: 0x06000E2F RID: 3631 RVA: 0x0010FE24 File Offset: 0x0010E024
public int SafeSplit(string value, string separator)
{
int num = 0;
int num2 = 0;
int num3 = value.Length - separator.Length;
for (int i = 0; i < num3; i++)
{
bool flag = true;
int num4 = 0;
while (num4 < separator.Length && num4 + i < value.Length)
{
if (value[i + num4] != separator[num4])
{
flag = false;
break;
}
num4++;
}
if (flag)
{
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, i + separator.Length - num2 - separator.Length);
num++;
num2 = i + separator.Length;
i += separator.Length - 1;
}
}
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, value.Length - num2);
return num + 1;
}
// Token: 0x06000E30 RID: 3632 RVA: 0x0010FF28 File Offset: 0x0010E128
public int Split(string value, char[] separators)
{
int num = 0;
int num2 = 0;
for (int i = 0; i < value.Length; i++)
{
bool flag = false;
for (int j = 0; j < separators.Length; j++)
{
if (value[i] == separators[j])
{
flag = true;
break;
}
}
if (flag)
{
this.buffer[num] = value.Substring(num2, i - num2);
num++;
num2 = i + 1;
}
}
this.buffer[num] = value.Substring(num2, value.Length - num2);
return num + 1;
}
// Token: 0x06000E31 RID: 3633 RVA: 0x0010FFA8 File Offset: 0x0010E1A8
public int SafeSplit(string value, char[] separators)
{
int num = 0;
int num2 = 0;
for (int i = 0; i < value.Length; i++)
{
bool flag = false;
for (int j = 0; j < separators.Length; j++)
{
if (value[i] == separators[j])
{
flag = true;
break;
}
}
if (flag)
{
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, i - num2);
num++;
num2 = i + 1;
}
}
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, value.Length - num2);
return num + 1;
}
// Token: 0x06000E32 RID: 3634 RVA: 0x00110068 File Offset: 0x0010E268
public int Split(string value, char separator, StringSplitOptions options)
{
int num = 0;
int num2 = 0;
for (int i = 0; i < value.Length; i++)
{
if (value[i] == separator)
{
if (options == StringSplitOptions.None || i - num2 > 0)
{
this.buffer[num] = value.Substring(num2, i - num2);
num++;
}
num2 = i + 1;
}
}
if (options == StringSplitOptions.None || value.Length - num2 > 0)
{
this.buffer[num] = value.Substring(num2, value.Length - num2);
num++;
}
return num;
}
// Token: 0x06000E33 RID: 3635 RVA: 0x001100E4 File Offset: 0x0010E2E4
public int SafeSplit(string value, char separator, StringSplitOptions options)
{
int num = 0;
int num2 = 0;
for (int i = 0; i < value.Length; i++)
{
if (value[i] == separator)
{
if (options == StringSplitOptions.None || i - num2 > 0)
{
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, i - num2);
num++;
}
num2 = i + 1;
}
}
if (options == StringSplitOptions.None || value.Length - num2 > 0)
{
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, value.Length - num2);
num++;
}
return num;
}
// Token: 0x06000E34 RID: 3636 RVA: 0x001101A0 File Offset: 0x0010E3A0
public int Split(string value, string separator, StringSplitOptions options)
{
int num = 0;
int num2 = 0;
int num3 = value.Length - separator.Length;
for (int i = 0; i < num3; i++)
{
bool flag = true;
int num4 = 0;
while (num4 < separator.Length && num4 + i < value.Length)
{
if (value[i + num4] != separator[num4])
{
flag = false;
break;
}
num4++;
}
if (flag)
{
if (options == StringSplitOptions.None || i + separator.Length - num2 - separator.Length > 0)
{
this.buffer[num] = value.Substring(num2, i + separator.Length - num2 - separator.Length);
num++;
}
num2 = i + separator.Length;
i += separator.Length - 1;
}
}
if (options == StringSplitOptions.None || value.Length - num2 > 0)
{
this.buffer[num] = value.Substring(num2, value.Length - num2);
num++;
}
return num;
}
// Token: 0x06000E35 RID: 3637 RVA: 0x0011028C File Offset: 0x0010E48C
public int SafeSplit(string value, string separator, StringSplitOptions options)
{
int num = 0;
int num2 = 0;
int num3 = value.Length - separator.Length;
for (int i = 0; i < num3; i++)
{
bool flag = true;
int num4 = 0;
while (num4 < separator.Length && num4 + i < value.Length)
{
if (value[i + num4] != separator[num4])
{
flag = false;
break;
}
num4++;
}
if (flag)
{
if (options == StringSplitOptions.None || i + separator.Length - num2 - separator.Length > 0)
{
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, i + separator.Length - num2 - separator.Length);
num++;
}
num2 = i + separator.Length;
i += separator.Length - 1;
}
}
if (options == StringSplitOptions.None || value.Length - num2 > 0)
{
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, value.Length - num2);
num++;
}
return num;
}
// Token: 0x06000E36 RID: 3638 RVA: 0x001103B8 File Offset: 0x0010E5B8
public int Split(string value, char[] separators, StringSplitOptions options)
{
int num = 0;
int num2 = 0;
for (int i = 0; i < value.Length; i++)
{
bool flag = false;
for (int j = 0; j < separators.Length; j++)
{
if (value[i] == separators[j])
{
flag = true;
break;
}
}
if (flag)
{
if (options == StringSplitOptions.None || i - num2 > 0)
{
this.buffer[num] = value.Substring(num2, i - num2);
num++;
}
num2 = i + 1;
}
}
if (options == StringSplitOptions.None || value.Length - num2 > 0)
{
this.buffer[num] = value.Substring(num2, value.Length - num2);
num++;
}
return num;
}
// Token: 0x06000E37 RID: 3639 RVA: 0x00110450 File Offset: 0x0010E650
public int SafeSplit(string value, char[] separators, StringSplitOptions options)
{
int num = 0;
int num2 = 0;
for (int i = 0; i < value.Length; i++)
{
bool flag = false;
for (int j = 0; j < separators.Length; j++)
{
if (value[i] == separators[j])
{
flag = true;
break;
}
}
if (flag)
{
if (options == StringSplitOptions.None || i - num2 > 0)
{
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, i - num2);
num++;
}
num2 = i + 1;
}
}
if (options == StringSplitOptions.None || value.Length - num2 > 0)
{
if (this.buffer.Length == num)
{
Array.Resize<string>(ref this.buffer, this.buffer.Length * 2);
}
this.buffer[num] = value.Substring(num2, value.Length - num2);
num++;
}
return num;
}
// Token: 0x0400168F RID: 5775
public string[] buffer;
}