如何替换正则表达式的第一场比赛,让其他人独自一人

时间:2010-12-03 20:49:52

标签: c# regex

使用C#,如何仅替换某些内容的第一个匹配?

示例输入<img src="1.jpg" />some other text<img src="2.jpg" />

正在使用的正则表达式,有效<img.*?>

以下内容取代了所有匹配项,但是,我只想替换第一个匹配项,并将第二个项(以及所有其他项)单独保留。

string val = Regex.Replace(input, "<img.*?>", string.Empty);
return val;

谢谢!

2 个答案:

答案 0 :(得分:3)

1作为第三个参数传递。

Regex.Replacean overload that takes a maximum number of replacements to make


请注意,通过将Regex实例放在静态只读字段中,可以获得更好的性能。这样,每次调用Replace时,运行时都不需要重新解析正则表达式。

答案 1 :(得分:2)

使用重载的Regex.Replace Method (String, MatchEvaluator, Int32)

将Int32的值设置为1。