【发布时间】:2020-01-30 16:48:35
【问题描述】:
我遇到了一个我无法理解的小问题。
我有正常的string[] 数组,其中包含文本导入。每一行都单独存储在每个索引下。
一行通常看起来像这样:
string[i] = |title1|title2|title3|title4|title5|
string[i+1] = |Word1|Word2|Word3|Word4|Word5|
我想拆分这些行并将它们放入一个多维数组。 已经计算了我必须如何声明数组的维度。 我现在想拆分它。我正在考虑用两个循环遍历普通数组并查找分隔符,同时将单词保存在字符串中,然后将其复制到多数组中。
你们知道我该怎么做吗,因为对于这么小的事情来说太麻烦了。
我希望多数组看起来像这样:
string[0,0] = title1,
string[0,1] = title2 etc.
string[1,0] = word1
string[1,1] = word2
这是创建数组的代码:
public string [,] SplitArrays(string [] arrayin)
{
long columns = 0;
char line = '|';
string row;
for(int i = 0; i < arrayin.Length;i++)
{
row = arrayin[i];
if (Convert.ToChar(row.Substring(0, 1)) == line)
{
for(int j = 0; j < row.Length;j++)
{
if (Convert.ToChar(row.Substring(j,(j+1))) == line)
{
columns++;
}
}
}
break;
}
int rowlength = arrayin.Length;
string[,] finalarray = new string[columns,rowlength];
这就是我分离的程度,但我有点困惑,我可能搞砸了:
int rowcolumncount = 0;
string word = "";
bool next = false;
for(int k = 0; k < arrayin.Length; k++)
{
row = arrayin[k];
for(int l = 0; l < row.Length; l++)
{
if (Convert.ToChar(row[l]) == line)
{
for(int z = 0; next == false;)
{
if(row[z] == line)
{
next = true;
}
else
{
string part = Convert.ToString(row[z]);
word = string.Join("",part);
}
finalarray[l, rowcolumncount] = word;
rowcolumncount++;
}
}
rowcolumncount = 0;
}
}
return finalarray;
}
主数组包含大约 12000 行。
谢谢!
【问题讨论】:
-
嗨,您当前的代码到底有什么问题?你考虑过Split函数吗?