2010-05-20 67 views
0

我有一個CSV格式的字符串。請參閱我的早期問題 Parsing CSV string and binding it to listbox解析並從CSV字符串獲取特定值

我可以通過某種機制向其添加新值。一切都將是相同的,除了新的值將有數字部分= 0採取例如 我有這個exsiting CSV字符串

1 , abc.txt , 2 , def.doc , 3 , flyaway.txt 

現在,通過一些機制,我添加了兩個更多的文件Superman.txt和Spiderman.txt現有串。現在,它成了

1 , abc.txt , 2 , def.doc , 3 , flyaway.txt, 0, Superman.txt, 0 , Spiderman.txt 

什麼,我在這裏做的是,這個CSV字符串paased到SP那裏的分裂和插入分貝。因此,對於插入我得把這些文件與數字部分只有0其餘將omiited。其中將進一步再換算成CSV字符串

陣列看起來像這樣

str[0]="1" 
str[1]="abc.txt" 
str[2]="2" 
str[3]="def.doc " 
str[4]="3" 
str[5]="flyaway.txt" 
str[6]="0" 
str[7]="Superman.txt" 
str[8]="0" 
str[9]="Spiderman.txt" 
最後

所以我想說我的投入將是

1 , abc.txt , 2 , def.doc , 3 , flyaway.txt, 0, Superman.txt, 0 , Spiderman.txt 

所需的輸出:

0, Superman.txt, 0 , Spiderman.txt 
+0

爲什麼不使用類似DataTable的東西來代替字符串數組?添加,刪除項目並將其與數據庫同步會更容易。 – 2010-05-20 14:41:31

+0

其實我從DataTable本身檢索這些值,從那裏我將它保存在一個集合中。這基本上是我的要求,因爲我必須在同一時間持有多個值。所以我從數據表中提取行並將其轉換爲CSV字符串,然後將其保存到集合中。這也阻止了我一次又一次地打db。 反正這個問題已經解決了 – 2010-05-20 15:14:28

回答

1

如果你的新值總是被添加到輸入的結尾,所有您需要做的就是搜索第一個0的字符串,然後使用string.Substring(Int32)將它及其後的所有內容都返回。

+0

的組合,txtfiles可以是隨機的。所以子串將不起作用 – 2010-05-20 14:23:54