Re: [問題] 請問如何搜尋特定資料複製輸出
※ 引述《ricaro ( )》之銘言:
: ※ 引述《ricaro ( )》之銘言:
: : 原始資料如下
: : ----
: : Peak Type a0 a1 a2 a3
: : 1 BG1st[UDF4] 5.83484411 -0.0689749
: : 2 Voigt Amp 1.53274934 -19.800359 0.47166280 0.14278921
: : Measured Values
: : Peak Type Amplitude Center FWHM Asym50 FW Base
: : 1 BG1st[UDF4] 7.29711128 -21.200000 0.00000000 0.00000000
: : 2 Voigt Amp 1.53274934 -19.800359 0.85969834 1.00000000
: : Peak Type Anlytc Area % Area Int Area % Area
: : 1 BG1st[UDF4] Unknown 18.0272318 92.6194949
: : 2 Voigt Amp 1.49472135 1.43652346 7.38050513
: : Total 19.4637553 100.000000
: : ----
: : 我的程式是下面這樣
: : 已經把資料內容弄成string array
: : 但是要輸出想要資料的時候還是有問題
: : ex. 我想要輸出有關peak 2的a0 a1 a2 a3及 Int Area
: : 要輸出哪個peak的資料 我是弄成由使用者來輸入決定 因為要的資料不一定都是peak 2
: 目前做到挑出含有所需資料的列
: 接下來是想說把挑出來的列再弄成string array
: 然後再想辦法把想要的資料輸出
: 不過 我用下面的程式想把挑出來的資料轉成string array
: 輸出後卻是空白的 冏
: 不知道是哪裡出錯 希望各位能指點一下
: 謝謝
這是挑出來的結果 第一個for (i..)的迴圈再加上if (array..Contains(peak))
-------
2 Voigt Amp 1.53274934 -19.800359 0.47166280 0.14278921
2 Voigt Amp 1.53274934 -19.800359 0.85969834 1.00000000
2 Voigt Amp 1.49472135 1.43652346 7.38050513
Peak 2 Voigt Amp
-------
要再加第二層for 把上面的string再轉成array 就失敗了
arrayStrings[i]是包含關鍵字(peak,是由使用者輸入決定)的字串
rowords[] 我希望是arrayStrings[i]再轉成array後的結果
這樣我就能挑選我要的數據輸出
: : ------
: for (int i = 0; i != (arrayStrings.Length); i++)//i=row# in the file
: {
: if (arrayStrings[i].Contains(peak))
: {
: StreamWriter datainput = output.AppendText();
: string[] rowords = arrayStrings[i].Split(' ');
: for (int j = 0 ; j!=arrayStrings[i].Length ; j++)
: {
: datainput.WriteLine(rowords[j]);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我debug後 出現的訊息是 "清單索引的最大值必須小於清單的大小"
rowords[j]的維度是21 但arrayStrings[i].Length是70
應該是這裡出問題 還想不透到底是為啥產生這種狀況
: }
: datainput.Flush();
: datainput.Close();
: }
: }
: : ----------
再次感謝 各位能有耐心看完
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.22.21
→
03/26 12:55, , 1F
03/26 12:55, 1F
→
03/26 12:56, , 2F
03/26 12:56, 2F
→
03/26 13:50, , 3F
03/26 13:50, 3F
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章