将t-sql替换代码转换为c#

本文关键字:转换 代码 t-sql 替换 | 更新日期: 2023-09-27 18:05:32

RETURN (REPLACE(REPLACE(REPLACE(@input, @class_text, '~~|~'), @id_text, @class_text), '~~|~', @id_text))

其中@input为字符串。

如何在c#中使用相同的参数进行转换…

@class_text is class_text in C#, etc..

将t-sql替换代码转换为c#

input = input.Replace(class_text, "~~|~").Replace(id_text, class_text).Replace("~~|~", id_text);

T-SQL的REPLACE实际上有不同的参数。例如,

REPLACE(string1, string2, replaceText)

其中在string2中搜索string1,而一般为:

string1.Replace(string2, replaceText)

…在。net中,您在string1中搜索string2。对于大量的字符串替换,我推荐使用StringBuilder .

var builder = new Stringbuilder(input);
builder = builder.Replace(class_text, "~~|~").Replace(id_text, class_text).Replace("~~|~", id_text)
string result = builder.ToString();

1)创建一个字符串

String myOldString = "No way";
2)使用replace函数
String myNewString = myOldString.Replace("No", "Yes");

这里是MSDN获取更多详细信息:http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx#Y480

编辑以下是你帖子中的数据:

String myInput = "whatever @input equals"
String myclass_text = "whatever @class_text equals"
String myid_text = "whatever @id_text equals"
String myString = myInput.replace(myclass_text, "~~|~")
myString = myString.replace(myid_text, class_text)
myString = myString.replace("~~|~", myid_text)

或者all-in-one(我不知道c#是否允许你这样做,但如果你更喜欢一行代码,试试吧:

String myString = myInput.replace(myclass_text, "~~|~").replace(myid_text, myclass_text).replace("~~|~", myid_text)

将TSQL转换为c#,这可以在原始问题中请求如何更改c#中字符串元素的位置

    /// <summary>
    /// Given a line of text, swap position of class and id tags.
    /// Id should always precede class tag
    /// 
    /// </summary>
    /// <param name="input"><td class="m92_t_col5" id="preis_0">xx</td></param>
    /// <returns><td id="preis_0" class="m92_t_col5">xx</td></returns>
    public static string SwapClassAndId(string input)
    {
        string output = string.Empty;
        int classOrdinal = 0;
        int classOridnalEndQuotes = 0;
        string classText = string.Empty;
        int idOrdinal = 0;
        int idOrdinalEndQuotes = 0;
        string idText = string.Empty;
        classOrdinal = input.IndexOf("class=");
        classOridnalEndQuotes = input.IndexOf("'"", classOrdinal + 7) + 1;
        idOrdinal = input.IndexOf("id=");
        idOrdinalEndQuotes = input.IndexOf("'"", idOrdinal + 4) + 1;
        if (idOrdinal < classOrdinal)
        {
            return input;
        }
        classText = input.Substring(classOrdinal, classOridnalEndQuotes - classOrdinal);
        idText = input.Substring(idOrdinal, idOrdinalEndQuotes - idOrdinal);
        output = input.Replace(classText, "~~|~").Replace(idText, classText).Replace("~~|~", idText);
        return output;
    }