Нахождение целочисленных значений в строке и замена их после обработки - PullRequest
0 голосов
/ 05 октября 2018

У меня есть длинная строка с целочисленными значениями.Я хочу найти целочисленные значения с помощью Regex.Replace и заменить их после умножения на переменную.

Что-то вроде следующего

string text = "The the quick brown fox 23jumps o65ver th66e lazy dog.";

будет

The the quick brown fox VAL*23jumps oVAL*65ver thVAL*66e lazy dog.

Я использовал Regex.Replace(text, @"(\d+)", @"$1");.Однако это не может обработать $ 1 и заменить найденное целое число.

1 Ответ

0 голосов
/ 05 октября 2018

Используйте оценку матча:

Regex.Replace(text, @"\d+", m => $"{VAL * int.Parse(m.Value)}")

См. Демонстрацию C # :

var text = "The the quick brown fox 23jumps o65ver th66e lazy dog.";
var VAL = 4;
Console.WriteLine(Regex.Replace(text, @"\d+", m => $"{VAL * int.Parse(m.Value)}"));
// => The the quick brown fox 92jumps o260ver th264e lazy dog.
...