为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只名叫tom的猫 2019-07-27 10:03:49
如何在.NET中替换字符串的* first instance *?我想替换给定字符串中的第一个匹配项。我怎样才能在.NET中实现这一目标?
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

正如所说的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实例才能完成它。


查看完整回答
反对 回复 2019-07-27
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

考虑到“仅限第一”,或许:

int index = input.IndexOf("AA");if (index >= 0) output = input.Substring(0, index) + "XQ" +
     input.Substring(index + 2);

或者更一般地说:

public static string ReplaceFirstInstance(this string source,
    string find, string replace){
    int index = source.IndexOf(find);
    return index < 0 ? source : source.Substring(0, index) + replace +
         source.Substring(index + find.Length);}

然后:

string output = input.ReplaceFirstInstance("AA", "XQ");


查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 408 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信