如何正确地替换我们的函数
本文关键字:函数 我们 替换 正确地 | 更新日期: 2023-09-27 17:59:30
尽管我给出的代码有问题,但仍试图使用.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 )
我只是不明白这在我的代码中是如何工作的,因为我没有真正的"字符串",但我有一个字符串生成器。
任何援助都将是巨大的。
所有StringBuilder的东西与删除中断有什么关系?您的字符串在rawStream
变量中(名称很糟糕)(这就是ReadToEnd()
给您的),所以您只需要:
rawStream = rawStream.Replace("<br>", "");
rawStream = rawStream.Replace("<br />");
您可以做两件事:
一方面,您确实使用StringBuilder
组装字符串,但是,当您调用myBuilder.ToString()
时,您最终将该字符串生成器的内容转换为string
。这就是您可以调用Replace
:的地方
richTextBox1.Text = myBuilder.ToString().Replace("<br>", "").Replace("</br>", "");
或者,StringBuilder
有自己的Replace
方法,因此您可以在将字符串生成器内容转换为字符串之前调用:
myBuilder.Replace("<br>", "");
myBuilder.Replace("</br>", "");
请注意,后者也可以以链式方式调用,尽管这可能不太可读:
richTextBox1.Text = myBuilder.Replace("<br>", "").Replace("</br>", "").ToString();
由于replace返回字符串,您可以将它们链接到
rawStream = rawStream.Replace("<br>","").Replace("<br/>","").Replace("<br />","");
你不能把它放在ToString()
调用之后吗?
richTextBox1.Text = myBuilder.ToString().Replace("string1", "string2");
如注释中所述,您也可以在字符串生成器对象本身上调用它。
richTextBox1.Text = myBuilder.Replace("string1", "string2").ToString();
试试这个。
richTextBox1.Text = myBuilder.Replace("<br>", String.Empty).Replace("</br>", String.Empty).ToString();
或
var rawStream = sr.ReadToEnd().Replace("<br>", String.Empty).Replace("</br>", String.Empty);