C#用起始位置和结束位置替换字符串的一部分

hs2*_*s2d 11 c# string replace

我有一个字符串,我想替换它的一部分.棘手的部分是我不能使用Regex.replace,因为我只知道字符串中数据的开始和结束位置.例如,如果字符串如下所示:

I love cats, some more stuff here, we dont know how much more
Run Code Online (Sandbox Code Playgroud)

我有start=8end=11.我想把那部分替换成我需要的东西.这一次让我们这样说dogs新字符串将如下所示:

I love dogs, some more stuff here, we dont know how much more
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

Jon*_*eet 21

最简单的方法:

string replaced = original.Substring(0, start) + replacementText + 
                  original.Substring(end);
Run Code Online (Sandbox Code Playgroud)

我曾预计StringBuilder有一些东西,会做这一点,但我想你可以打电话Remove,然后Insert.


Mik*_*ron 6

str.Substring(0, 8) + "replacement" + str.Substring(11);
Run Code Online (Sandbox Code Playgroud)

它不是"优雅",但它有效.