2015-09-09 65 views
1

更新的代码。Visual Basic文本文件操作

Private Sub Button8_Click(sender As System.Object, e As System.EventArgs) Handles Button8.Click 
    Dim xString = File.ReadAllLines("C:\test\bbooktest.csv") 
    Dim qString As String = Nothing 
    For Each myItem In lstboxSerialout.Items 

     For Each x As String In xString 
      If x.Contains(myItem) And x.Contains(", ***,") Then 
       qString = qString & x.Replace(", ***,", ", " & txtboxdateshpd.Text & ",") & vbCrLf 
      Else 
       qString = qString & x & vbCrLf 
      End If 
     Next 
    Next 
    File.WriteAllText("C:\test\bbooktest.csv", qString) 
End Sub 

这就是我在运行时得到的结果。

MANUFACTURER,MODEL,SERIAL ,TYPE,Size,DATE REC,MFG NAME ,DATE SHIP,COMMENTS 
Test Company, Test Model,123456,Test Type,Test Size,20150917,*****,2015,****** 
Test Company, Test Model,434343,Test Type,Test Size,20150917,*****,***,******* 
Test Company, Test Model,789456,Test Type,Test Size,20150917,*****,***,******* 
MANUFACTURER,MODEL,SERIAL ,TYPE,Size,DATE REC,MFG NAME ,DATE SHIP,COMMENTS 
Test Company, Test Model, 123456, Test Type, Test Size, 20150917, ******, ***, ******** 
Test Company, Test Model, 434343, Test Type, Test Size, 20150917, ******, 2015, ******** 
Test Company, Test Model, 789456, Test Type, Test Size, 20150917, ******, ***, ******** 
MANUFACTURER,MODEL,SERIAL ,TYPE,Size,DATE REC,MFG NAME ,DATE SHIP,COMMENTS 
Test Company, Test Model, 123456, Test Type, Test Size, 20150917, ******, ***, ******** 
Test Company, Test Model, 434343, Test Type, Test Size, 20150917, ******, ***, ******** 
Test Company, Test Model, 789456, Test Type, Test Size, 20150917, ******, 2015, ******** 

当我希望它看起来这本

MANUFACTURER,MODEL,SERIAL ,TYPE,Size,DATE REC,MFG NAME ,DATE SHIP,COMMENTS 
Test Company, Test Model,123456, Test Type, Test Size,20150917, ******,2015, ******** 
Test Company, Test Model,434343, Test Type, Test Size,20150917, ******,2015, ******** 
Test Company, Test Model,789456, Test Type, Test Size,20150917, ******,2015, ******** 

对不起了令人难以置信的穷人格式化我就使它看起来不那么疯狂的工作。

+0

由于数据是CSV格式,因此您可以非常轻松地将其读取到DataTable或List(T),并在不解析文本的情况下将它们引用为列或属性 – Plutonix

+0

究竟哪些方法无效? –

+0

这假设序列号在所有数据集中都是唯一的。如果某个型号名称包含其他序列号的确切数字,该怎么办?你的替换应该让昏迷回来:“,测试”,而不是“测试” –

回答

0

For Each myItem循环之外移动Dim xString = File.ReadAllLines("C:\test\bbooktest.csv")

+0

感谢您的快速回复。我试过了,我仍然得到相同的结果。 –