Найти и заменить часть строки поиском по шаблону - PullRequest
1 голос
/ 06 мая 2010

Я хочу иметь возможность прочитать файл и заменить все экземпляры:

M9S1800.2 с S1800 (я хочу избавиться от M9 и .2).

Проблема, с которой я сталкиваюсь, состоит в том, что четырехзначное число после «S» может отличаться каждый раз, также как и число после десятичной дроби.

Например,

Это может быть: M9S3200.1 или M9S5400.1 или M9S5400.2

Может кто-нибудь показать мне, как это сделать с C #?

Я знаю, как найти и заменить, используя этот код:

StreamReader reader = new StreamReader(fDialog.FileName.ToString());
string content = reader.ReadToEnd();
reader.Close();

content = Regex.Replace(content, "M2", "M3");

но с M9S3200.1 я хочу заменить тип подстановочным знаком. Например, это будет похоже на замену M9S * .1 на S *, поэтому M9S3200.1 станет просто S3200.

1 Ответ

6 голосов
/ 06 мая 2010
content = Regex.Replace(content, @"M9(S\d{4})\.\d", "$1");
...