的查詢部分提取一個網址我怎樣才能提取有效的URL字符串中像這樣的在另一個URL
h*tps://www.google.com/url?q=h*tp://www.site.net/file.doc&sa=U&ei=_YeOUc&ved=0CB&usg=AFQjCN-5OX
我想提取這一部分:h*tp://www.site.net/file.doc
,這是我的合法的URL。
的查詢部分提取一個網址我怎樣才能提取有效的URL字符串中像這樣的在另一個URL
h*tps://www.google.com/url?q=h*tp://www.site.net/file.doc&sa=U&ei=_YeOUc&ved=0CB&usg=AFQjCN-5OX
我想提取這一部分:h*tp://www.site.net/file.doc
,這是我的合法的URL。
添加System.Web.dll程序集和使用HttpUtility類的靜態方法。 例如:
using System;
using System.Web;
class MainClass
{
public static void Main (string[] args)
{
Uri uri = new Uri("https://www.google.com/url?q=http://www.site.net/file.doc&sa=U&ei=_YeOUc&ved=0CB&usg=AFQjCN-5OX");
Uri doc = new Uri (HttpUtility.ParseQueryString (uri.Query).Get ("q"));
Console.WriteLine (doc);
}
}
隨着協議爲'H * tps',將'。 Uri'解析正確的字符串? – 2013-05-13 10:42:29
Uri正確解析字符串 – Denis 2013-05-13 11:28:50
那是不正確的,測試過並且得到了一個'無效的URI:URI方案無效.'''''''''''''''' – 2013-05-13 15:36:22
:
string input = "your URL";
string newString = input.Substring(36, 22) ;
但如果該URL變化的初始部分的長度,你也想提取變化部分的lenght ,那就不行了。
可以使用split
功能
string txt="https://www.google.com/url?q=http://www.site.net/file.doc&sa=U&ei=_YeOUc&ved=0CB&usg=AFQjCN-5OX";
txt.split("?q=")[1].split("&")[0];
你從字符串哪一位? – 2013-05-12 08:50:02
你的意思是什麼?你是否會用「t」或其他什麼來替換「*」? – FeliceM 2013-05-12 08:50:22
正則表達式是正確的路要走。定義你想要提取的模式,得到正則表達式的匹配並選擇你需要的模式。 – Saravanan 2013-05-12 08:50:54