请问一个string取值的问题。
string hits=@"1,58; 1,167; 1,11; 2,154; 3,15; 4,11; 4,16; 14;13 ";
请问如何把hits如 1,58 1,167 的头个数字取出来,得到一个数组里面是 1 2 3 4 14
问题点数:100、回复次数:9Top
1 楼contentman1(没有树高)回复于 2006-05-02 19:24:18 得分 0
hits也可以不用string 类型.数组可以是任意数组.Top
2 楼sunkangta(●●●●●)回复于 2006-05-02 19:33:29 得分 0
string[] hitArray = hits.Split('');
for (int i=0;i<hitArray.Length;i++)
{
Console.Write(hitArray[i].Splite(',')[0]);
}Top
3 楼sunkangta(●●●●●)回复于 2006-05-02 19:33:54 得分 0
string[] hitArray = hits.Split(';');
for (int i=0;i<hitArray.Length;i++)
{
Console.Write(hitArray[i].Splite(',')[0]);
}
Top
Top
4 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2006-05-02 19:36:00 得分 0
\d+,Top
5 楼nangangshi(小米)回复于 2006-05-02 20:17:10 得分 0
上面得出的应该是1,1,1,2,3,4,14,还要加个判断语句.Top
6 楼Kshatriya(何以解忧,惟有杜康)回复于 2006-05-02 20:35:37 得分 0
先用;作分隔符,得到字符串数组,再循环这个结果集,用,作为分隔符,再得字符串数组,取这个结果集的第一个元素,组成数组就是结果了Top
7 楼NuclearG(想不出这里写点什么好 不如就让它这么空着吧)回复于 2006-05-02 20:36:15 得分 0
string hits=@"1,58; 1,167; 1,11; 2,154; 3,15; 4,11; 4,16; 14,13 ";
string [] temp = hits.Split(';');
int [] result = new int[temp.Length];
int count = 1;
result[0] = Convert.ToInt32 ( temp[0].Split(',')[0] );
for ( int i = 1; i < temp.Length; i++ )
{
int num = Convert.ToInt32 ( temp[i].Split(',')[0] );
if ( result[count - 1] != num )
{
result[count] = num;
count++;
}
}Top
8 楼contentman1(没有树高)回复于 2006-05-02 21:03:16 得分 0
太谢谢各位了.NuclearG的很不错.但是有个问题
int [] result = new int[temp.Length];取出来 result数组的长度是8,到那时取出来的时候应该只有5个
Top
9 楼contentman1(没有树高)回复于 2006-05-02 21:03:50 得分 0
写错.是最后取出来是应该是5个Top




