Мне нужен скрипт / программа / что угодно, чтобы заменить определенные значения переменных во многих текстовых файлах.Я думал, что ключевым словом было регулярное выражение, но не столько в этом ...
Более точное описание проблемы:
Оригинальный код в файле:
POTATO = -3000;
POTATO = 1020; !this value is updated 2011-08-28
Код после «преобразования» (5000 добавлено к переменной):
POTATO = 2000;
POTATO = 6020; !this value is updated 2011-08-28
Выше приведен пример в уменьшенном масштабе, поскольку переменная POTATO имеет много различных значений во многих различных файлах..
Пожалуйста, сообщите!Mikkel
Привет всем, большое спасибо за все ваши посты, которые привели меня к этому результату, который, кажется, работает блестяще:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
class test
{
static void Main()
{
ShowOutput("TOMATO =-2000");
ShowOutput("POTATO =-2000");
ShowOutput("POTATOO = 5000");
ShowOutput("TOMATO =-2000");
ShowOutput("POTATO = -2000 'This is a nice value");
ShowOutput("POTATO =-2000 'This is also a nice value");
}
public static void ShowOutput(string InputStreng)
{
Console.WriteLine("BEFORE: " + InputStreng);
Console.WriteLine("AFTER: " + IncrementValues(InputStreng, 1));
Console.WriteLine();
Console.ReadLine();
}
private static string IncrementValues(string input, int increment)
{
string pattern = @"(?<=POTATO =\s*)(-?\d+)";
var regex = new System.Text.RegularExpressions.Regex(pattern,
System.Text.RegularExpressions.RegexOptions.Multiline);
return regex.Replace(input, delegate(Match match)
{
long value = Convert.ToInt64(match.Groups[1].Value);
return (value + 5000).ToString();
});
}
}
Теперь мне просто нужно разобраться в сложной части - делая вышекод работы над текстовым файлом ..:)
Ура!Миккель