如何在.NET中替換字符串的* first instance *?我想替換給定字符串中的第一個(gè)匹配項(xiàng)。我怎樣才能在.NET中實(shí)現(xiàn)這一目標(biāo)?
3 回答

慕少森
TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
正如它所說(shuō)的Regex.Replace是一個(gè)很好的選擇,但為了使他的答案更完整,我將用代碼示例填寫(xiě):
using System.Text.RegularExpressions;...Regex regex = new Regex("foo");string result = regex.Replace("foo1 foo2 foo3 foo4", "bar", 1); // result = "bar1 foo2 foo3 foo4"
第三個(gè)參數(shù)(在本例中設(shè)置為1)是要從字符串開(kāi)頭在輸入字符串中替換的正則表達(dá)式模式的出現(xiàn)次數(shù)。
我希望這可以通過(guò)靜態(tài)Regex.Replace重載完成,但不幸的是,你需要一個(gè)Regex實(shí)例才能完成它。

胡說(shuō)叔叔
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
考慮到“僅限第一”,或許:
int index = input.IndexOf("AA");if (index >= 0) output = input.Substring(0, index) + "XQ" + input.Substring(index + 2);
?
或者更一般地說(shuō):
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");
- 3 回答
- 0 關(guān)注
- 459 瀏覽
添加回答
舉報(bào)
0/150
提交
取消