如何在.NET中替换字符串的* first instance *?

如何在.NET中替换字符串的* first instance *?

我想替换给定字符串中的第一个匹配项。

我怎样才能在.NET中实现这一目标?


一只名叫tom的猫
浏览 409回答 3
3回答

慕少森

正如它所说的Regex.Replace是一个很好的选择,但为了使他的答案更完整,我将用代码示例填写:using System.Text.RegularExpressions;...Regex regex = new Regex("foo");string result = regex.Replace("foo1 foo2 foo3 foo4", "bar", 1);             // result = "bar1 foo2 foo3 foo4"第三个参数(在本例中设置为1)是要从字符串开头在输入字符串中替换的正则表达式模式的出现次数。我希望这可以通过静态Regex.Replace重载完成,但不幸的是,你需要一个Regex实例才能完成它。

胡说叔叔

考虑到“仅限第一”,或许:int&nbsp;index&nbsp;=&nbsp;input.IndexOf("AA");if&nbsp;(index&nbsp;>=&nbsp;0)&nbsp;output&nbsp;=&nbsp;input.Substring(0,&nbsp;index)&nbsp;+&nbsp;"XQ"&nbsp;+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;input.Substring(index&nbsp;+&nbsp;2);?或者更一般地说:public&nbsp;static&nbsp;string&nbsp;ReplaceFirstInstance(this&nbsp;string&nbsp;source, &nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;find,&nbsp;string&nbsp;replace){ &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;index&nbsp;=&nbsp;source.IndexOf(find); &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;index&nbsp;<&nbsp;0&nbsp;?&nbsp;source&nbsp;:&nbsp;source.Substring(0,&nbsp;index)&nbsp;+&nbsp;replace&nbsp;+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source.Substring(index&nbsp;+&nbsp;find.Length);}然后:string&nbsp;output&nbsp;=&nbsp;input.ReplaceFirstInstance("AA",&nbsp;"XQ");
打开App,查看更多内容
随时随地看视频慕课网APP