将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..
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;
}