使用c#.net拆分字符串 [英] Split string using c# .net

查看:91
本文介绍了使用c#.net拆分字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨我的价值如



 BRICKFACE,1400,125.0,9,0.0,0.0,0.2777779,0.06296301,0.66666675 ,0.31111118,6.185185,7.3333335,7.6666665,3.5555556,3.4444444,4.4444447,-7.888889,7.7777777,0.5456349,-1.1218182 
BRICKFACE,188.0,133.0,9,0.0,0.0,0.33333334,0.26666674,0.5,0.077777736,6.6666665, 8.333334,7.7777777,3.8888888,5.0,3.3333333,-8.333333,8.444445,0.53858024,-0.92481726





其中的文本文件需要插入这里的数据实际上我们有两列插入,从

 BRICKFACE开始到-1.1218182 

 BRICKFACE开始,-0.92481726 

是我试过的另一个专栏我的编码



 试试 
{
foreach string f in Directory.GetFiles(foldername))
{
s1 = File.ReadAllText(f);
}
ary = s1.Split(' \ n');
j = 1 ;
for (i = 0 ; i < ; 5000 ; i ++)
{
store_dataset(ary [i],j);
j ++;
}
MessageBox.Show( 数据提取成功);


}
catch (异常错误)
{
}

void store_dataset( string str, int z)
{
尝试
{
string [] arr = str.Split(' \ n'' ,');

string ss = 插入数据集(Sno,REGION-CENTROID-COL,REGION-CENTROID-ROW,REGION-PIXEL-COUNT,SHORT-LINE-DENSITY-5,SHORT-LINE-DENSITY-2,VEDGE-MEAN,VEDGE-SD,HEDGE- MEAN,HEDGE-SD,强度均值,RAWRED-MEAN,RAWBLUE-MEAN,RAWGREEN-MEAN,EXRED-MEAN,EXMUE-MEAN,EXGREEN-MEAN,VALUE-MEAN,SATURATION-MEAN,HUE-MEAN)值(@ 16 ,@ 1,@ 2,@ 3,@ 4,@ 5,@ 6,@ 7,@ 8,@ 9,@ 10 @ 11 @ 12 @ 13 @ 14 @ 15 @ 16 @ 17,@ 18 @ 19);
cmd = new SqlCommand(ss,cn.con);
cmd.Parameters.AddWithValue( @ 19,z);
cmd.Parameters.AddWithValue( @ 1,arr [ 0 ] TRIM());
cmd.Parameters.AddWithValue( @ 2,arr [ 1 ] TRIM());
cmd.Parameters.AddWithValue( @ 3,arr [ 2 ] TRIM());
cmd.Parameters.AddWithValue( @ 4,arr [ 3 ] TRIM());
cmd.Parameters.AddWithValue( @ 5,arr [ 4 ] TRIM());
cmd.Parameters.AddWithValue( @ 6,arr [ 5 ] TRIM());
cmd.Parameters.AddWithValue( @ 7,arr [ 6 ] TRIM());
cmd.Parameters.AddWithValue( @ 8,arr [ 7 ] TRIM());
cmd.Parameters.AddWithValue( @ 9,arr [ 8 ] TRIM());
cmd.Parameters.AddWithValue( @ 10,arr [ 9 ] TRIM());
cmd.Parameters.AddWithValue( @ 11,arr [ 10 ] TRIM());
cmd.Parameters.AddWithValue( @ 12,arr [ 11 ] TRIM());
cmd.Parameters.AddWithValue( @ 13,arr [ 12 ] TRIM());
cmd.Parameters.AddWithValue( @ 14,arr [ 13 ] TRIM());
cmd.Parameters.AddWithValue( @ 15,arr [ 14 ] TRIM());
cmd.Parameters.AddWithValue( @ 16,arr [ 15 ] TRIM());
cmd.Parameters.AddWithValue( @ 17,arr [ 16 ] TRIM());
cmd.Parameters.AddWithValue( @ 18,arr [ 17 ] TRIM());


cmd.ExecuteNonQuery();
cmd.Dispose();
}
catch (异常错误)
{
}







我在此行收到错误cmd.Parameters.AddWithValue(@ 2,arr [1] .Trim());因为索引是数组的外部界限pls帮我解决问题

解决方案

你输入的字符串(str)在这一行:

< pre lang =c#> void store_dataset( string str, int z)





不包含逗号,因此 arr 数组在索引1处没有值(这意味着第二个元素)。



调试并检查输入的字符串。



干杯,

Edo


Hi i have an value like

BRICKFACE,1400,125.0,9,0.0,0.0,0.2777779,0.06296301,0.66666675,0.31111118,6.185185,7.3333335,7.6666665,3.5555556,3.4444444,4.4444447,-7.888889,7.7777777,0.5456349,-1.1218182
BRICKFACE,188.0,133.0,9,0.0,0.0,0.33333334,0.26666674,0.5,0.077777736,6.6666665,8.333334,7.7777777,3.8888888,5.0,3.3333333,-8.333333,8.444445,0.53858024,-0.92481726



Its in text file i nedd to insert these data in database here actually we have two columns to insert thats begin from

BRICKFACE to -1.1218182 

and

BRICKFACE to,-0.92481726 

is another column i tried wiyh my coding

try
            {
                foreach (string f in Directory.GetFiles(foldername))
                {
                    s1 = File.ReadAllText(f);
                }
                ary = s1.Split('\n');
                j = 1;
                for (i = 0; i < 5000; i++)
                {
                    store_dataset(ary[i], j);
                    j++;
                }
                MessageBox.Show("Data Extracted Successfully");


            }
            catch (Exception error)
            {
            }

 void store_dataset(string str, int z)
        {
            try
            {
                string[] arr = str.Split('\n',',');

                string ss = "insert into Dataset(Sno,REGION-CENTROID-COL,REGION-CENTROID-ROW,REGION-PIXEL-COUNT,SHORT-LINE-DENSITY-5,SHORT-LINE-DENSITY-2,VEDGE-MEAN,VEDGE-SD,HEDGE-MEAN,HEDGE-SD,INTENSITY-MEAN,RAWRED-MEAN,RAWBLUE-MEAN,RAWGREEN-MEAN,EXRED-MEAN,EXBLUE-MEAN,EXGREEN-MEAN,VALUE-MEAN,SATURATION-MEAN,HUE-MEAN ) values(@16,@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,@17,@18,@19)";
                cmd = new SqlCommand(ss, cn.con);
                cmd.Parameters.AddWithValue("@19", z);
                cmd.Parameters.AddWithValue("@1", arr[0].Trim());
                cmd.Parameters.AddWithValue("@2", arr[1].Trim());
                cmd.Parameters.AddWithValue("@3", arr[2].Trim());
                cmd.Parameters.AddWithValue("@4", arr[3].Trim());
                cmd.Parameters.AddWithValue("@5", arr[4].Trim());
                cmd.Parameters.AddWithValue("@6", arr[5].Trim());
                cmd.Parameters.AddWithValue("@7", arr[6].Trim());
                cmd.Parameters.AddWithValue("@8", arr[7].Trim());
                cmd.Parameters.AddWithValue("@9", arr[8].Trim());
                cmd.Parameters.AddWithValue("@10", arr[9].Trim());
                cmd.Parameters.AddWithValue("@11", arr[10].Trim());
                cmd.Parameters.AddWithValue("@12", arr[11].Trim());
                cmd.Parameters.AddWithValue("@13", arr[12].Trim());
                cmd.Parameters.AddWithValue("@14", arr[13].Trim());
                cmd.Parameters.AddWithValue("@15", arr[14].Trim());
                cmd.Parameters.AddWithValue("@16", arr[15].Trim());
                cmd.Parameters.AddWithValue("@17", arr[16].Trim());
                cmd.Parameters.AddWithValue("@18", arr[17].Trim());
            
                
                cmd.ExecuteNonQuery();
                cmd.Dispose();
            }
            catch (Exception error)
            {
            }




Am getting error at this line cmd.Parameters.AddWithValue("@2", arr[1].Trim()); as Index was outside bound of array pls help me to solve dis issue

解决方案

Your input string (str) at this line:

void store_dataset(string str, int z)



does not contain a comma, hence the arr array does not have a value at index 1 (which means the second element).

Debug and check you input string.

Cheers,
Edo


这篇关于使用c#.net拆分字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆