特定のテキストを特定の行の特定の部分に置き換えたい。テキスト例:
begin 355 weapon item_type=weapon
begin 356 armor item_type=armor
すべてのテキストを置き換えずに、1行目の値を1行に置き換え、すべての行を消去せず、すべてを1行に置き換えitem_type=weapon
たいitem_type=none
です。これまでの私のコードは次のとおりです。355
weapon
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