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
类型。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您可以使用简单的正则表达式来匹配一个简单的数字。
首先,将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次或多次(+
),可选(?
)后跟一个点(\.
和)更多的数字。
如果您的号码格式可能不同,则必须调整正则表达式以适应。