我需要知道c#是否有任何函数等于sql函数stuff,它根据给定的开始和长度将输入字符串替换为原始字符串.
编辑添加样本:
select stuff('sad',1,1'b')
select stuff(original string, start point, length,input string)
Run Code Online (Sandbox Code Playgroud)
输出将是 "bad".
使用String.Insert()函数和String.Remove()函数
"abc".Remove(1, 1).Insert(2, "XYZ") // result "aXYZc"
Run Code Online (Sandbox Code Playgroud)
没有内置方法可以执行此操作,但您可以编写扩展方法:
static class StringExtensions
{
public static string Splice(this string str, int start, int length,
string replacement)
{
return str.Substring(0, start) +
replacement +
str.Substring(start + length);
}
}
Run Code Online (Sandbox Code Playgroud)
用法如下:
string sad = "sad";
string bad = sad.Splice(0, 1, "b");
Run Code Online (Sandbox Code Playgroud)
请注意,C#中字符串中的第一个字符是数字0,而不是SQL示例中的1.
如果你愿意,你Stuff当然可以调用这个方法,但可以说这个Splice名字更清晰一些(虽然它也没有经常使用).