Если вы создаете регулярное выражение и заменяете его совпадения пустой строкой, вы фактически удаляете этот шаблон. Вот что вам понадобится для вашего шаблона:
Звездочка имеет специальное значение в регулярном выражении (ноль или более от предыдущего элемента), поэтому вам придется экранировать ее с обратной косой чертой (\*
).
Вы можете сопоставить цифру с классом цифр (\d
) или с явным классом, который включает все из них ([0-9]
). Между ними есть различия из-за настроек культуры: \d
может соответствовать таким вещам, как восточные арабские цифры (٠.١.٢.٣.٤.٥.٦.٧.٨.٩), в то время как [0-9]
будет соответствовать только индус-арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).
Вы можете использовать квантификатор +
для соответствия одному или нескольким предыдущим элементам: \d+
будет соответствовать одной или нескольким цифрам.
Точка - это еще один специальный символ (он соответствует любому отдельному символу, кроме символов новой строки). Также потребуется экранирование (\.
).
Вы можете сопоставить текст без специальных символов с самим текстом: txt
точно соответствует txt
.
Собрав все вместе, мы получим:
string purged = Regex.Replace(input, @"\*[0-9]+\.txt", "");