如何正确使用.replace功能?

时间:2014-04-23 16:33:27

标签: c# string function replace

尝试使用.replace函数取出中断(<br></br>),但我已经给出了代码问题。

以下是我正在使用的内容。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
var rawStream = sr.ReadToEnd();
sr.Close();
var myBuilder = new StringBuilder();
myBuilder.AppendLine("Employee Name : " + rawStream.Between("<span id=\"Label_DisplayFullName\">", "</span>"));
myBuilder.AppendLine("Title: " + rawStream.Between("<span id=\"Label_Title\">", "</span>"));
myBuilder.AppendLine("Location : " + rawStream.Between("<span id=\"Label_Location\">", "</span>"));
myBuilder.AppendLine("Department : " + rawStream.Between("<span id=\"Label_Department\">", "</span>"));
myBuilder.AppendLine("Group: " + rawStream.Between("<span id=\"Label_Group\">", "</span>"));
myBuilder.AppendLine("Office Phone : " + rawStream.Between("<span id=\"Label_IntPhoneNumber\">", "</span>"));
myBuilder.AppendLine("Mobile Phone : " + rawStream.Between("<span id=\"Label_BusMobile\">", "</span>"));
richTextBox1.Text = myBuilder.ToString();

虽然我明白这个功能应该是这样的:

public string Replace( string oldValue, string newValue )

我只是不明白这在我的代码中是如何工作的,因为我真的没有&#34;字符串&#34;但我有一个字符串构建器。

任何帮助都会很大。

5 个答案:

答案 0 :(得分:2)

删除休息时,你的所有StringBuilder都有什么作用?您的字符串位于rawStream变量(名称非常严重)(ReadToEnd()给出的内容),所以您只是:

rawStream = rawStream.Replace("<br>", "");
rawStream = rawStream.Replace("<br />");

答案 1 :(得分:1)

你可以做两件事:

一方面,您使用StringBuilder汇总字符串,但是,当您调用myBuilder.ToString()时,最终会将该字符串构建器的内容转换为string。您可以在此处调用Replace

richTextBox1.Text = myBuilder.ToString().Replace("<br>", "").Replace("</br>", "");

或者,StringBuilder拥有自己的Replace method,因此您可以在将字符串构建器内容转换为字符串之前调用

myBuilder.Replace("<br>", "");
myBuilder.Replace("</br>", "");

请注意,后者也可以以链式方式调用,尽管可能性较差:

richTextBox1.Text = myBuilder.Replace("<br>", "").Replace("</br>", "").ToString();

答案 2 :(得分:0)

你能不能在ToString()电话之后把它放进去?

richTextBox1.Text = myBuilder.ToString().Replace("string1", "string2");

如评论中所述,您也可以在stringbuilder对象本身上调用它。

richTextBox1.Text = myBuilder.Replace("string1", "string2").ToString();

答案 3 :(得分:0)

由于replace返回字符串,你可以链接它们

rawStream = rawStream.Replace("<br>","").Replace("<br/>","").Replace("<br />","");

答案 4 :(得分:0)

试试这个。

richTextBox1.Text = myBuilder.Replace("<br>", String.Empty).Replace("</br>", String.Empty).ToString();

或者

var rawStream = sr.ReadToEnd().Replace("<br>", String.Empty).Replace("</br>", String.Empty);