Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将表追加到字符串_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 将表追加到字符串

C# 将表追加到字符串,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有两个字符串,如下C所示# string strEmail=“GreenRed 蓝黄色 平克怀特”; 字符串tempAppend=“blackgrey”; 现在,我想在tbl1之后立即附加tbl2 在C#中如何做到这一点 请帮我解决这个问题。希望它也能对其他人有所帮助。使用StringBuilder,尝试以下方法: string strEmail="<table id='tbl1'><tr><td>Green</td><td>Red

我有两个字符串,如下C所示#

string strEmail=“GreenRed
蓝黄色
平克怀特”;
字符串tempAppend=“blackgrey”;
现在,我想在tbl1之后立即附加tbl2

在C#中如何做到这一点


请帮我解决这个问题。希望它也能对其他人有所帮助。

使用StringBuilder,尝试以下方法:

string strEmail="<table id='tbl1'><tr><td>Green</td><td>Red</td></table><table id='tbl3'><tr><td>Blue</td><td>Yellow</td></table><table id='tbl4'><tr><td>Pink</td><td>White</td></table>";
string tempAppend="<table id='tbl2'><tr><td>black</td><td>grey</td></table>";

StringBuilder sb=new StringBuilder();
sb.Append(strEmail);

sb.Replace("<table id='tbl3'>",tempAppend +"<table id='tbl3'>");

strEmail = sb.ToString();
string strEmail=“GreenRedBlueYellowPinkWhite”;
字符串tempAppend=“blackgrey”;
StringBuilder sb=新的StringBuilder();
某人附加(邮件);
替换(“,tempAppend+”);
strEmail=sb.ToString();

使用
StringBuilder

string strEmail = @"<table id='tbl1'><tr><td>Green</td><td>Red</td></table>
    <table id='tbl3'><tr><td>Blue</td><td>Yellow</td></table>
    <table id='tbl4'><tr><td>Pink</td><td>White</td></table>";

string tempAppend = @"<table id='tbl2'><tr><td>black</td><td>grey</td></table>";

var builder = new StringBuilder(strEmail);
var startPoint = "</td></table>";
var index = strEmail.IndexOf(startPoint);

builder.Insert(index + startPoint.Length, tempAppend);

strEmail = builder.ToString();
string strEmail=@“绿色”
蓝黄色
平克怀特”;
字符串tempAppend=@“黑灰色”;
var builder=新的StringBuilder(strEmail);
var startPoint=“”;
var index=strEmail.IndexOf(startPoint);
Insert(index+startPoint.Length,tempAppend);
strEmail=builder.ToString();

您也可以试试这个

string strEmail = "<table id='tbl1'><tr><td>Green</td><td>Red</td></table><table id='tbl3'><tr><td>Blue</td><td>Yellow</td></table><table id='tbl4'><tr><td>Pink</td><td>White</td></table>";
string tempAppend = "<table id='tbl2'><tr><td>black</td><td>grey</td></table>";
var inx = strEmail.IndexOf("<table id='tbl3'>");
StringBuilder stringBuilder = new StringBuilder(strEmail);

stringBuilder.Insert(inx, tempAppend);
strEmail = stringBuilder.ToString();
string strEmail=“GreenRedBlueYellowPinkWhite”;
字符串tempAppend=“blackgrey”;
var inx=strEmail.IndexOf(“”);
StringBuilder StringBuilder=新StringBuilder(strEmail);
stringBuilder.Insert(inx,tempAppend);
strEmail=stringBuilder.ToString();

但是,它将附加在字符串的末尾,即tbl4之后。我想在tbl1之后追加它。我还没有运行代码,但这不会在表1中插入整个表2吗?它应该插入表1的结束标记之后,但该标记与其他两个标记相同。@LarsKristensen你是对的,我误解了表插入位置的答案。我有几个问题;您是否总是知道必须在
tbl1
tbl3
之间插入,或者它可能处于不同的位置?这四张桌子总是有相同的内容吗?是您真正想要的,能够按照表的
id
对表进行排序吗?
string strEmail = "<table id='tbl1'><tr><td>Green</td><td>Red</td></table><table id='tbl3'><tr><td>Blue</td><td>Yellow</td></table><table id='tbl4'><tr><td>Pink</td><td>White</td></table>";
string tempAppend = "<table id='tbl2'><tr><td>black</td><td>grey</td></table>";
var inx = strEmail.IndexOf("<table id='tbl3'>");
StringBuilder stringBuilder = new StringBuilder(strEmail);

stringBuilder.Insert(inx, tempAppend);
strEmail = stringBuilder.ToString();