【发布时间】:2011-10-28 22:38:33
【问题描述】:
我有一个包含 4 个字段的文件。
A,B,C,D
我只想提取第 4 个字段并将其更改为“E”
有没有办法做到这一点?
【问题讨论】:
-
字段是定长还是变长?
我有一个包含 4 个字段的文件。
A,B,C,D
我只想提取第 4 个字段并将其更改为“E”
有没有办法做到这一点?
【问题讨论】:
假设这些值不包含逗号,请使用FileSystemObject (FSO) 读取文件,然后使用Split 每行使用逗号。根据需要更改 4 个值的结果数组,然后将 join 再次作为逗号分隔的字符串一起使用。完成所有更改后,使用 FSO 将数据写回文件。
比如:
Set outputFile = fso.OpenTextFile(FileName1, ForWriting, True)
Set inputFile = fso.OpenTextFile(FileName2, ForReading)
Do While inputFile.AtEndOfStream <> True
arr = Split(inputFile.ReadLine, ",")
arr(3) = "E"
outputString = Join(arr, ",")
outputFile.WriteLine outputString
Loop
请注意,代码完全未经测试,大部分是凭记忆编写的,因此几乎可以肯定是不正确的,只是为了给您一个想法。
【讨论】:
也许一个简单的替换就可以了。
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\data.txt")
strSearchString = objFile.ReadAll
objFile.Close
strSearchString = Replace(strSearchString,"A,B,C,D","A,B,C,E")
Set objFile = objFSO.OpenTextFile("c:\data.txt",2)
objFile.Write strSearchString
objFile.Close
【讨论】:
A、B、C,...只是样本。此外,旧答案应该可以很好地完成工作。