Регулярное выражение подсчета заменяет (C #)

MIT сделал доступным весь курс LISP в формате MPEG и DIVX. Я настоятельно рекомендую его.

http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

17
задан Simon D 14 February 2011 в 16:04
поделиться

1 ответ

Вы можете использовать MatchEvaluator, который выполняется для каждой замены, таким образом, вы можете подсчитать, сколько раз это происходит:

int cnt = 0;
string result = Regex.Replace("aaa", "a", m => {
  cnt++;
  return "b";
});

Второй случай сложнее, так как вы должны получить тот же результат, что и шаблон замены будет:

int cnt = 0;
string result = Regex.Replace("aaa", "(?<test>aa?)", m => {
  cnt++;
  return m.Groups["test"] + "b";
});
7
ответ дан 30 November 2019 в 13:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: