2013-08-23 100 views
-3

我有一个字符串a="<tr>i'm working in C#<tr/> abcdefghjiklmnopqr ii oo yy uu hh gg rr"b="<td>Finish</td></tr>"。我需要串a作为在另一个字符串中追加字符串

a="<tr>i'm working in C#<tr/> <td>Finish</td></tr> abcdefghjiklmnopqr ii oo yy uu hh gg rr". 

我们如何追加字符串中的字符串像上面?我之前问过同一个问题,这是错误的。 这里将需要找到第一个“>”字符并在b中追加b。

+3

_“必须找到第一>和追加B” _但是你想要的结果,在''打完第二个'>'附加湾除此之外,使用'HtmlAgilityPack'动态解析或创建html。 –

+0

你使用asp.net吗? –

+0

使用indexOf()和insert()方法(http://msdn.microsoft.com/zh-cn/library/k8b1470s.aspx,http://msdn.microsoft.com/zh-cn/library/system.string .insert.aspx)。 – kren470

回答

0
int i = 0;   
while(i < a.Length && (i=a.IndexOf("/>",i)) != -1){ 
    a = a.Insert(i+2,b); 
    i += b.Length; 
} 
+0

这只是模仿'a.Replace(“/>”,“/>”+ b)'。为什么这是手动完成的? –

+0

@MikePrecup我想念while循环,实际上这个问题很微不足道 –

0

我想你可以用的indexOf和子

var a="<tr>i'm working in C#<tr/>abcdefghjiklmnopqr ii oo yy uu hh gg rr"; 
var b="<td>Finish</td></tr>"; 

var insertPoint = a.IndexOf("<tr/>")+5; 
var c = a.Substring(0,insertPoint) + b + a.Substring(insertPoint); 

不过说真的,如果你试图做HTML生成与字符串连接,这将会是一场噩梦做到这一点。尝试使用Razor或任何其他模板语言。

0

使用插入在特定位置附加字符串。

String findText = @"<tr/>"; 
String a = @"<tr>i'm working in C#<tr/> abcdefghjiklmnopqr ii oo yy uu hh gg rr"; 
String b = @"<td>Finish</td></tr>"; 
int appendLocation = a.IndexOf(findText) + findText.Length; 
String c = a.Insert(appendLocation, b); 
MessageBox.Show(c);