string[] ConvertToStringArray(string str, char char1,char char2)
{
char[] startArray = str.ToArray();
List<string> list = new List<string>();
int startIndex = 0;
int endIndex = 0;
for (int i = 0; i < startArray.Length; i++)
{
if (startArray[i] == char1 && startArray[i + 1] == char2)
{
endIndex = i - 1;
string tempStr = str.Substring(startIndex, endIndex - startIndex + 1);
list.Add(tempStr);
startIndex = i + 2;
}
if (i == startArray.Length - 1 && endIndex < startArray.Length - 3)
{
string endStr = str.Substring(endIndex + 3);
list.Add(endStr);
}
}
string[] tempArray = list.ToArray();
string[] endArray = new string[tempArray.Length];
for (int i = 0; i < tempArray.Length; i++)
{
string tempStr = tempArray[i].TrimEnd('&');//消除末尾为&的字符
endArray[i] = tempStr;
}
return endArray;
}
调用:
string str = "123&~^456&~^78&910";
string[] result = ConvertToStringArray(str, '~', '^');