Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

.net - stuff function implementation in c#

I need to know any whether c# has any function equal to sql function stuff, which replace the input string into the original string based on the start and length given.

Edited for adding sample:

select stuff('sad',1,1'b')

select stuff(original string, start point, length,input string)

the output would be "bad".

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

There is no built-in method to do this, but you could write an extension method:

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);
    }

}

The usage is as such:

string sad = "sad";
string bad = sad.Splice(0, 1, "b");

Note that the first character in a string in C# is number 0, not 1 as in your SQL example.

If you wish, you can call the method Stuff of course, but arguably the Splice name is a bit clearer (although it's not used very often either).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...