我已经看到了一些关于这方面的话题,但我们对于我想要的东西有点不清楚,
我在C#中制作一个特殊的Web浏览器
但是,我想拆分TextBox文本
像:
Textbox1.Text =" http://google.com/lol ";
我想,
Label1.Text =" http://google.com ";
和
Label2.Text =" / lol ";
但是我希望它能够检测TextBox1.Text中的URL而不仅仅是google.com,每个网址
像:
[
Label1.Text = Label1.Text(" ignorefrom /");
Label2.Text = Label2.Text(" ignorefromno /");
当然,上述言论是不可能的,但这基本上就是我的意思
Anny1知道我该怎么做
可能更好的解释。
我正在制作网络浏览器,我想检测
网址:例如: http://google.com/lol
我希望标签中的第一个和第二个部分来自
所以:标签1 中的 http://google.c om 和 label2 中的 / lol 与每个网址< / p>
我已经看到了关于此的多个主题,但这与我的案例有点不同
答案 0 :(得分:1)
您应该查看.NET class Uri的文档。它具有您正在寻找的功能。
示例:
var url = new Uri("http://www.google.com/some/path/file.aspx");
Console.WriteLine(url.Host); // prints www.google.com
Console.WriteLine(url.AbsolutePath); // prints /some/path/file.aspx
此示例中使用的属性:
答案 1 :(得分:0)
这应该给出你想要的结果:
using System.Uri;
Uri uri = new Uri("http://google.com/lol");
Label1.Text = uri.AbsoluteUri;
Label2.Text = uri.PathAndQuery;
答案 2 :(得分:0)
我会使用正确的工具,在这种情况下,您可以使用Uri.TryCreate
:
string url = "http://google.com/lol";
Uri uri;
if (Uri.TryCreate(url, UriKind.Absolute, out uri))
{
Textbox1.Text = uri.Scheme + Uri.SchemeDelimiter + uri.Host;
Label1.Text = uri.AbsolutePath;
}
如果您想要包含评论中提到的查询,则应使用uri.PathAndQuery
。然后"http://google.com/lol?lol=1"
根据需要返回/lol?lol=1
。
答案 3 :(得分:0)
蒂姆施密特尔
string url = "http://google.com/lol";
Uri uri;
if (Uri.TryCreate(url, UriKind.Absolute, out uri))
{
Textbox1.Text = uri.Scheme + Uri.SchemeDelimiter + uri.Host;
Label1.Text = uri.AbsolutePath;
}
就像一个魅力:)