我有几个文件,例如:
FileBegin Finance Open 87547.25 Close 548484.54 EndDay 4 End
Run Code Online (Sandbox Code Playgroud)
另一个文件示例:
FileBegin Finance Open 344.34 Close -3434.34 EndDay 5 End
Run Code Online (Sandbox Code Playgroud)
我需要读取文件中的文本,并在单词Open之后仅替换数字值,并在单词Open完整之前和之后保留文本的其余部分.我一直在使用这段代码:
string fileToRead = "c:\\file.txt";
public void EditValue(string oldValue, string newValue, Control Item)
{
if (Item is TextBox)
{
string text = File.ReadAllText(fileToRead);
text = text.Replace(oldValue, newValue);
File.WriteAllText(activeSaveFile, text);
}
}
Run Code Online (Sandbox Code Playgroud)
在单词后面替换数字值的最佳方法是open什么?
使用正则表达式:
Regex rgx = new Regex(@"Open [^\s]+");
string result = rgx.Replace(text, newValue);
File.WriteAllText(activeSaveFile, result );
Run Code Online (Sandbox Code Playgroud)
使用此方法,您可以将regex对象存储在方法之外,以避免每次重新编译它.我猜它与你的情况下的文件I/O相比不会产生显着的性能影响,但在其他情况下这是一个很好的做法.