我正在尝试构建一个解析器来替换字符串的特定实例。例如,我有一个字符串,sn+sn+sn*9
我只想替换sn
How can I do this with regex?的第三个实例?
我试过了
var expression = "sn+sn+sn*9";
var regex = new Regex("sn");
expression = regex.Replace("sn",4.ToString());
//expression = regex.Replace("sn",4.ToString(),1,2);
提前致谢
int x = 0;
string repl = "ANYTHING";
string s = Regex.Replace("sn+sn+sn*9", "sn", m => (++x) == 3 ? repl : m.Value);
解释
该x
变量用于跟踪搜索文本的出现。只要 Regex 发现第三次出现,MatchEvaluator委托就会用repl
变量中的任何内容替换这个字符串。否则,它只会返回相同的找到的字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句