2

しばらくの間、初心者 (どちらかというと初心者) としてスレッドをフォローしていましたが、今ではさらに多くのことを始めています。

テキスト ファイルを開く方法を読むことはできますが、.replace 機能を理解するのに苦労しています (構文がわかりません)。

シナリオ:

Inputfile name = test_in.txt

inputfile{ } を次のように置き換えますc:\temp\test1.txt

スクリプト ツールのテンプレートとして使用test.txtしており、内部のさまざまな値を .xml という新しいファイルに置き換える必要があります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)

すべての値を 1 つの値のみで置き換えるか、それぞれに異なる値で置き換えるかによって異なります。別の値が必要な場合は、次を使用できます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 に答える