Web请求工作正常,一切都按计划进行,但由于某种原因,我似乎无法抓住并删除该字符串中的那一段。以下删除是许多人的一次尝试,
我的人没有源,所以我会尝试重新创建它。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Text;
using System.IO;
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
StringBuilder sb = new StringBuilder();
byte[] srs = new byte[8192];
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http:"+//mywebsite.com/getsearchresults/page.aspx="+ result["x"]);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream xStream = response.GetResponseStream();
string myString = null;
int count = 0;
do
{
count = xStream.Read(srs, 0, srs.Length);
if (count != 0)
{
myString = Encoding.ASCII.GetString(srs, 0, count);
//regex ismatch = new myString.regex (@"\The Following Results Are\b")
//ismatch = regex.replace("The Follwing Results Are","",1);
sb.Append(myString);
}
}
while (count > 0);
printresults.Text = sb.ToString();
}
}
}
答案 0 :(得分:0)
你的RegEx错了。我不认为您希望模式@"\The Followin Results Are\b"
与“Follwing Results Are”相匹配
有一些问题,首先,模式以\
开头,而不在输入中,我相信这只是被解释为文字。 \t
会匹配一个标签而且不在输入中,所以这两种方式都是错误的。第二个问题是\b
,它匹配退格或字边界。我认为这不会起作用,因为输入结束于该单词的结尾,而单词边界在您有\w\W
(单词字符后跟非单词字符)时找到匹配项。那里没有边界,因为它是输入的结束。
除非您非常关注多次出现“以下结果”,否则您应该像这样调用string.Replace
方法;
string foo = oldString.Replace("The Following Results Are", System.String.Empty);
如果您需要确保只更换第一个匹配项,您应该这样做;
RegEx rgx = new RegEx("The Following Results Are");
string foo = rgx.Replace(oldString, System.String.Empty, 1);