我想在特定部分的一行中替换特定文本。示例文本:
begin 355 weapon item_type=weapon
begin 356 armor item_type=armor
我想用它的值替换item_type=weapon
第item_type=none
1 行的值355
而不替换其中的所有weapon
文本,并且不清除所有行并将所有行替换为 1 行。到目前为止,这是我的代码:
private void button2_Click(object sender, EventArgs e)
{
var data = File
.ReadLines("itemdata.txt")
.Where(x => x.Contains(itemSrchtxt.Text))
.Take(1)
.SelectMany(x => x.Split('\t'))
.Select(x => x.Split('='))
.Where(x => x.Length > 1)
.ToDictionary(x => x[0].Trim(), x => x[1]);
StreamReader reader = new StreamReader(Directory.GetCurrentDirectory() + @"\itemdata.txt");
string content = reader.ReadLine();
reader.Close();
content = Regex.Replace(content, data["item_type"], textitem_type.Text);
StreamWriter write = new StreamWriter(Directory.GetCurrentDirectory() + @"\itemdata.txt");
write.WriteLine(content);
write.Close();
}
这是我使用的真实线路:
item_begin questitem 783 [_alankells_receipt] item_type=questitem