我希望找到来自Given Text的First Word匹配,并使用Regex替换为另一个单词。
请将字符串视为示例文字
您的商品属于哪种类型?我想这个项目不是字符串,如果是的话 你可以覆盖ToString()方法 项目类和使用jayant的 代码。
我想在其中搜索第一个“item”字样,并用文字“hello”替换它。请记住,我只想替换第一个“项目”字而不是全部。
因此,上述文字的输出将类似于以下内容。
您的问候是哪种?我想这个项目不是字符串,如果是的话 你可以覆盖ToString()方法 项目类和使用jayant的 代码。
我正在使用C#编程来执行此操作,如果可能,我更愿意使用Regex。
任何人都可以帮助我。
答案 0 :(得分:4)
您可以将Regex.Replace()
方法与第3个参数(最大替换次数)一起使用:
Regex rgx = new Regex("item");
string result = rgx.Replace(str, "hello", 1);
上查看
(虽然在这种情况下你并不真正需要正则表达式,因为你正在搜索常量。)
答案 1 :(得分:1)
如果你对非正则表达式替代品持开放态度,你可以做这样的事情
public static string ReplaceOnce(this string input, string oldValue, string newValue)
{
int index = input.IndexOf(oldValue);
if (index > -1)
{
return input.Remove(index, oldValue.Length).Insert(index, newValue);
}
return input;
}
//
Debug.Assert("bar bar bar".ReplaceOnce("bar", "foo").Equals("foo bar bar"));