使用扩展方法替换字符串
本文关键字:替换 字符串 方法 扩展 | 更新日期: 2023-09-27 17:50:52
如果我有一个字符串,我想用星号替换字符串中的最后一个字符。
I tried this
var myString = "ABCDEFGH";
myString.ReplaceCharacter(mystring.Length - 1, 1, "*");
public static string ReplaceCharacter(this string str, int start, int length, string replaceWith_expression)
{
return str.Remove(start, length).Insert(start, replaceWith_expression);
}
我试图使用这个扩展方法,但这不起作用。为什么这不起作用?
方法替换了字符,但是必须捕获结果
myString = myString.ReplaceCharacter(myString.Length - 1, 1, "*");
问题是字符串是不可变的。replace, substring等方法不会改变字符串本身。它们创建一个新的字符串并替换它。因此,为了使上面的代码正确,它应该是
myString = myString.ReplaceCharacter(myString.Length - 1, 1, "*");