2

作为一个新手(更像是一个新手)一直在关注这些线程,但现在我开始做更多的事情。

我可以阅读如何打开文本文件,但无法理解 .replace 功能(我得到的语法只是无法让它工作)。

设想:

Inputfile name = test_in.txt

将 { inputfile}替换为c:\temp\test1.txt

我正在test.txt用作脚本工具的模板,需要将其中的各种值替换为一个名为test_2.txt.

我有定义输入和输出文件的变量没有问题,我只是无法掌握打开新文件和替换的语法。

4

2 回答 2

2

你真的没有给我们那么多去继续。但是使用中的一个常见错误String.Replace是它会复制需要保存到另一个变量的源,否则它将进入位桶。所以在你的情况下,这样的事情应该有效。

Dim Buffer As String 'buffer
Dim inputFile As String = "C:\temp\test.txt" 'template file
Dim outputFile As String = "C:\temp\test_2.txt" 'output file

Using tr As TextReader = File.OpenText(inputFile)
    Buffer = tr.ReadToEnd
End Using
Buffer = Buffer.Replace("templateString", "Hello World")

File.WriteAllText(outputFile, Buffer)
于 2013-05-07T05:18:39.880 回答
1

尝试这样的事情:

Dim sValuesToReplace() As String = New String() {"Value1", "Value2", "Value3"}
Dim sText As String = IO.File.ReadAllText(inputFilePath)

For Each elem As String In sValuesToReplace
    sText = sText.Replace(elem, sNewValue)
Next

IO.File.WriteAllText(sOutputFilePath, sText)

这取决于您是想用一个值替换所有值,还是每个值都替换为不同的值。如果您需要不同的值,您可以使用Dictionary

Dim sValuesToReplace As New Dictionary(Of String, String)()

sValuesToReplace.Add("oldValue1", "newValue1")
sValuesToReplace.Add("oldValue2", "newValue2")
'etc

然后循环遍历它:

For Each oldElem As String In sValuesToReplace.Keys
    sText = sText.Replace(oldElem, sValuesToReplace(oldElem))
Next
于 2013-05-07T07:41:20.603 回答