這是我的第一篇文章,我是C#的新手,所以請溫和一點:P。 我正在編寫應用程序,它正在讀取一些txt文件,然後在gridview中顯示它們(我後來用它做了更多的事情,但現在並不重要)。幾乎我所有的文件都有一些確定的字符系統(總是有三列以昏迷方式分隔),在這裏我將它們放入列表中並將它們綁定到gridview中沒有問題。 但是我也有一些文件沒有相同的字符系統,我在處理它們時遇到了問題。你能幫助我以某種方式將它們格式化爲這個原始字符系統(我的意思是這個系統帶有逗號)。貝婁是我的一切加載到列表中,然後進入gridview的函數。我還發布了一個具有良好字符系統的文件示例,並且這個文件不是合成的。格式化txt文件並將其顯示到gridview
29-01-2013 03:49:31.629,某些文本GHS(23).asv 1,多個文本
17-07-2011 12:12:32.643,某些文本也DSAD(1),多個文本
31-01-2013 08:14:08.473,某些文本sdfsdfsd [2],更文本
未格式化文本具有位於beggining一些空格,那麼一些號碼,(點),而另一個空間。在此之後,我想開始閱讀並擺脫以前的一切。此外,在我的正確數據之間沒有逗號,而是空格。這是這樣的。
請大家你能幫我嗎?
23-05-2009 12:12:45.675某些文本fsdf 1一些文字
13-02-2003 11:12:45.454某些文本sdfsdfS(1)一些文字
private void button7_Click(object sender, EventArgs e) { List<MyColumns> list = new List<MyColumns>(); OpenFileDialog openFile1 = new OpenFileDialog(); openFile1.Multiselect = true; if (openFile1.ShowDialog() != DialogResult.Cancel) { foreach (string filename in openFile1.FileNames) { using (StreamReader sr = new StreamReader(filename)) { string line; while ((line = sr.ReadLine()) != null) { string[] _columns = line.Split(",".ToCharArray()); MyColumns mc = new MyColumns(); mc.Time = _columns[0]; mc.System_Description = _columns[1]; mc.User_Description = _columns[2]; list.Add(mc); } } } DataTable ListAsDataTable = BuildDataTable<MyColumns>(list); DataView ListAsDataView = ListAsDataTable.DefaultView; this.dataGridView1.DataSource = view = ListAsDataView; this.dataGridView1.AllowUserToAddRows = false; dataGridView1.ClearSelection(); } textBox1.Text = this.dataGridView1.Rows.Count.ToString(); }
我也在考慮使用reg表達式,我的文本格式看起來像這樣。字段1>(6)字段2>(23)字段3>(2)字段4>(50+)字段3是用作分隔符的空格,是否可以在使用文本時將其更改爲逗號?
很難提供你想要格式化數據的例子。我會做的第一件事是刪除所有的空白。 「未格式化」文件中的分隔符是什麼。 – Botonomous
它看起來像上面的例子。它從少量空格開始,然後我用''來編號。之後,再增加2個空格,最後是我感興趣的數據。在這種情況下,Delimeter是2個空格。 – user2592968
第一部分很容易劃定界限,從左邊看第二個空間並在那個位置打破,但將第二和第三列分開幾乎是不可能的,除非第二列總是保證以數字結尾(可能後跟括號或方括號)。 –