读书人

求教一个字符串生成二维数组的方法

发布时间: 2013-03-06 16:20:31 作者: rapoo

求教,一个字符串生成二维数组的方法,急,谢谢!
比如一个字符串“11DX-3L-3JY-4J-5Q”
我需要生成一个二维字符串数组aa[i,2],其中i是由字符串中的“-”数量+1决定的,形式为:
aa[0,0]="11"
aa[0,1]="DX"
aa[1,0]="3"
aa[1,1]="L"
aa[2,0]="3"
aa[2,1]="JY"
aa[3,0]="4"
aa[3,1]="J"
aa[4,0]="5"
aa[4,1]="Q"
我写了一个方法,最后一个aa[4,0]和aa[4,1]都是null,所以求教大家更好的方法!
当然最好是一个方法,因为字符串的格式是固定的,长短不一样,可以是“11DX-3L-3JY”,也可以是“11DX-3L-3JY-4J”,还可以是:“11DX-3L-3JY-4J-5Q-10Z”
望大家不吝赐教,谢谢了


[解决办法]
string str="11DX-3L-3JY-4J-5Q";
var array=str.Split('-').Select(t=>Regex.Split(t,"(?is)(?<=\\d)(?=[a-z])")).ToArray();

[解决办法]

 string str = "11DX-3L-3JY-4J-5Q";
string[] arry = str.Split('-');
string[,] aa = new string[arry.Length, 2];

for (int i = 0; i < arry.Length; i++)
{
int k = 0;
for (int j = 0; j < arry[i].Length; j++)
{
if (arry[i][j] > '9'
[解决办法]
arry[i][j] < '0')
break;
k++;
}
aa[i, 0] = arry[i].Substring(0, k);
aa[i, 1] = arry[i].Substring(k);
}

[解决办法]

string strsource = "11DX-3L-3JY-4J-5Q";
var arr=strsource.Split('-');
string[,] result = new string[arr.Count(), 2];
for (int k=0;k< arr.Length;k++)
{
result[k, 0] = Regex.Split(arr[k], "(?is)(?<=\\d)(?=[a-z])")[0];
result[k, 1] = Regex.Split(arr[k], "(?is)(?<=\\d)(?=[a-z])")[1];


}
foreach (var dict in result)
{
Console.WriteLine(dict);
}

读书人网 >C#

热点推荐