Visual Basic 替换文本文件的一部分
Visual Basic Replacing Part Of A Text File
Referencing this answer to a very similar question 我想知道如何扩展此代码以充当搜索占位符并修改其后的文本:
Dim fileReader As String = My.Computer.FileSystem.ReadAllText("C:\test.txt").Replace("Number Remaining: [oldvalue]", "Number Remaining: [newvalue]")
My.Computer.FileSystem.WriteAllText("C:\test2.txt", fileReader, False)
其中 oldvalue
是编辑前剩余的数字(我并不总是知道,所以不能将其包含在搜索中)并且 newvalue
是在别处计算的值在代码中。
值都是 Double
类型。
如有任何帮助,我们将不胜感激。
您可以使用简单的正则表达式来匹配简单的数字。
首先,将 System.Text.RegularExpressions
添加到文件顶部的导入中。
Imports System.Text.RegularExpressions
然后你可以使用这样的东西:
Dim newValue As Double = 12.34 'or whatever
Dim fileText As String = My.Computer.FileSystem.ReadAllText("C:\test.txt")
fileText = Regex.Replace(fileText,
"Number Remaining: [0-9]+(\.[0-9]+)?",
string.Format("Number Remaining: {0}", newValue))
My.Computer.FileSystem.WriteAllText("C:\test2.txt", fileText, False)
正则表达式 [0-9]+(\.[0-9]+)?
表示一个数字 ([0-9]
),1 次或多次 (+
),可选 (?
) 后跟一个点 (\.
) 和更多数字。
如果您的号码格式可能不同,您必须调整正则表达式以适应。
Referencing this answer to a very similar question 我想知道如何扩展此代码以充当搜索占位符并修改其后的文本:
Dim fileReader As String = My.Computer.FileSystem.ReadAllText("C:\test.txt").Replace("Number Remaining: [oldvalue]", "Number Remaining: [newvalue]")
My.Computer.FileSystem.WriteAllText("C:\test2.txt", fileReader, False)
其中 oldvalue
是编辑前剩余的数字(我并不总是知道,所以不能将其包含在搜索中)并且 newvalue
是在别处计算的值在代码中。
值都是 Double
类型。
如有任何帮助,我们将不胜感激。
您可以使用简单的正则表达式来匹配简单的数字。
首先,将 System.Text.RegularExpressions
添加到文件顶部的导入中。
Imports System.Text.RegularExpressions
然后你可以使用这样的东西:
Dim newValue As Double = 12.34 'or whatever
Dim fileText As String = My.Computer.FileSystem.ReadAllText("C:\test.txt")
fileText = Regex.Replace(fileText,
"Number Remaining: [0-9]+(\.[0-9]+)?",
string.Format("Number Remaining: {0}", newValue))
My.Computer.FileSystem.WriteAllText("C:\test2.txt", fileText, False)
正则表达式 [0-9]+(\.[0-9]+)?
表示一个数字 ([0-9]
),1 次或多次 (+
),可选 (?
) 后跟一个点 (\.
) 和更多数字。
如果您的号码格式可能不同,您必须调整正则表达式以适应。