谢谢你们的回复。最后我找到了我自己的问题的解决方案。现在我找到了我遇到的问题的解决方案。我是这样解决的。
public enum intLinks
{
bib = 1,
fig = 2,
tab=3,
tb=4
}
这是用匹配模式替换内容的方法。
public string NumberedReplaceTest(string input, intLinks refToFind)
{
//"<link rid=\"bib1\">1</link>"
Regex regex = new Regex(@"<link rid=""" + refToFind.ToString() + @"(?<sequence>\d*)"">(\r?\n)*(?<number>[a-zA-Z0-9]*)(\r?\n)*</link>");
if (!regex.IsMatch(input))
return input;
switch (refToFind)
{
case intLinks.bib: return regex.Replace(input, "<Citation CID=\"CR${sequence}\">${number}</Citation>");
case intLinks.fig: return regex.Replace(input, "<InternalRef RefID=\"Fig${sequence}\">${number}</InternalRef>");
case intLinks.tab: return regex.Replace(input, "<InternalRef RefID=\"Tab${sequence}\">${number}</InternalRef>");
case intLinks.tb: return regex.Replace(input, "<InternalRef RefID=\"Tab${sequence}\">${number}</InternalRef>");
default: return input;
}
}
我正在调用这样的方法。
bodyString = NumberedReplaceTest(bodyString,intLinks.bib);
bodyString = NumberedReplaceTest(bodyString, intLinks.fig);
bodyString = NumberedReplaceTest(bodyString, intLinks.tab);
bodyString = NumberedReplaceTest(bodyString, intLinks.tb);`