Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k 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 Answer

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).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...