查找并替换有关RegEx.Replace的问题

时间:2010-05-13 22:13:56

标签: c# regex replace find wildcard

我有一个文本文件,我希望能够更改以下所有实例:

T1M6 N1T1M6


根据加载的文本文件,T将始终为不同的值。例如,它有时可能是

T2M6
这需要转为 N2T2M6

N(值)必须匹配T(值)。 M6永远是M6。


另一个例子:

T9M6 会转换为 N9T9M6



这是我加载文本文件的代码:

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



这是我提出的RegEx.Replace语句。不确定它是否正确。

 content = Regex.Replace(content, @"(T([-\d.]))M6", "N1$1M6");



似乎可以搜索 T5M6 并将其转换为 N1T5M6

但我不确定如何将N(值)转换为T的值。例如 N5T5M6

有人可以告诉我如何修改我的代码来处理这个?

感谢。

1 个答案:

答案 0 :(得分:3)

像这样:

string content = File.ReadAllText(fDialog.FileName.ToString());
content = Regex.Replace(content, @"T([-\d.])M6", "N$1T$1M6");

此外,您应该将[-\d.]替换为\d-?\d\.?