Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

stuff function implementation in c#

Tags:

c#

.net

tsql

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

like image 630
Raju Avatar asked Apr 12 '13 09:04

Raju


2 Answers

Use String.Insert() function both with String.Remove() function

"abc".Remove(1, 1).Insert(2, "XYZ") // result "aXYZc"
like image 106
Alex Avatar answered Nov 12 '22 16:11

Alex


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

like image 39
Thorarin Avatar answered Nov 12 '22 15:11

Thorarin