2013-06-20 44 views
0

您好,我正在尝试为windows phone创建一个小webapp。 它拉下一个wepage并将源代码保存在一个文本块中,我想要做的是让应用程序读取该文本块并确定是否包含设置值=“http://test.com”如果它确实需要它提取完整网址。查找字符串是否包含值,然后提取

到目前为止,我有什么是

 string stringToCheck = "http://test.com"; 
     string stringhtml = invisiBlockHtml.Text; 

     if (stringhtml.Contains(stringToCheck)) 
     { 
      // StreamReader sr = new StreamReader(stringhtml); 
      // here i was hoping there was some way for StreamReader or another function to read the string and then pull out the full url 



     webBrowser1.Navigate(new Uri("found Url", UriKind.Absolute)); } 

     else 
     { 
      webBrowser1.Navigate(new Uri("http://dontcontain.com", UriKind.Absolute)); 
     }` 

希望这是有道理的,我只有最近才开始编程。 感谢

+0

看看正则表达式的http:/ /www.dotnetperls.com/regex-match – Jonesopolis

+0

你不能那样做。我猜stringHtml可以是任何包含url的文本出现在任何地方。所以即使是正则表达式在这种情况下也无济于事。 – cissharp

回答

0

这将试图获得一个URL匹配

string mystring = "My text and url http://www.google.com and some more text."; 

Regex urlRx = new Regex(@"(?<url>(http:[/][/]|www.)([a-z]|[A-Z]|[0-9]|[/.]|[~])*)", RegexOptions.IgnoreCase); 

MatchCollection matches = urlRx.Matches(mystring); 
+0

感谢队友,即时只是试图把它放在..如果我把正则表达式urlRx = new Regex(@“(?(http:[/] [/] | www.play)([az] | [AZ] | [0-9] | [/。] | [〜])*)“,RegexOptions.IgnoreCase);因为sring中有多个网址,我只想要一个以play开头的网址? – 9koni

+0

将网址设置为正则表达式urlRx = new Regex(@“(?(http:[/] [/] | www.http://test.com)([az] | [AZ] | [0-9] | [/.]|~])*)“,RegexOptions.IgnoreCase); – Mohit

0

我评论,但这里有一个整体正则表达式指南 - >

Regex Cheat Sheet为C#

Regex Hero来测试你的正则表达式的好地方

Regex Matching如何从获得匹配的值返回在C#中的正则表达式(你的问题)

编辑

虽然也许我误解了这个问题。你正在寻找一个确切的网址,或任何网址?如果你正在寻找一个确切的网址,那么如果。载有()返回true,你已经知道的URL

+0

谢谢我正在寻找一个网址,也有一个很长的qurystring,所以我知道的URL的第一部分,但希望找到qurystring。对不起,不解释.. ..我会看看正则表达式谢谢.. :-) – 9koni

+0

这将是好的,为此目的以及 – Jonesopolis

+0

很酷谢谢很多 – 9koni

相关问题