2012-01-19 70 views
-2

我有一个文本文件包含分隔记录。Visual Basic中的文本文件处理

1243;jhhf';982u4k;9u2349;huf8 
kij;9238u;98ur23;jfwf;03i24 

我需要用从数据库或其他来源返回的值替换每个记录的第4部分的值。

任何线索?期待VB代码

+0

你想怎么处理这?什么编程语言(shell,PHP,C++等)可用? – 2012-01-19 07:31:19

+0

你想如何连接两者,每四个部分是否获得相同的新值或者是否需要查找它(例如,第一部分是标识符)?你是否需要替换每一行的第四部分,换句话说,它是否被'Environment.NewLine'分割或者是一行? –

+0

是的,每个第四部分由来自DB的值根据flatfile中存在的值而不是所有的相同值。 –

回答

0

你可以试试这个(用C#):

C#释放

List<string> newLines = new List<string>(); 
string[] lines = File.ReadAllLines(filename); 
foreach (string line in lines) 
{ 
    string[] parts = line.Split(";".ToCharArray()); 
    parts[3] = string_from_db; 
    newLines.Add(String.Join(";", parts)); 
} 
File.WriteAllLines(filename, newLines.ToArray()); 

VB.NET释放

Dim newLines As List(Of String) = New List(Of String) 
Dim lines As String() = File.ReadAllLines(filename) 
For Each line As String In lines 
    Dim parts As String() = line.Split(";") 
    parts(3) = string_from_db 
    newLines.Add(String.Join(";", parts)) 
Next 
File.WriteAllLines(filename, newLines.ToArray()) 
+0

Applogies,我需要它的VB.NET应用程序。 –

+0

@ user1157902:看看我编辑的帖子 – Marco

+0

@ user1157902:你解决了你的麻烦吗? – Marco