爲什麼你不希望使用HttpUtility目前尚不清楚。你總是可以添加一個參考System.Web
並使用它:
var parsedQuery = HttpUtility.ParseQueryString(input);
Console.WriteLine(parsedQuery["q"]);
如果這不是一個選項,然後也許這種做法將有助於:
var query = input.Split('&')
.Single(s => s.StartsWith("q="))
.Substring(2);
Console.WriteLine(query);
它分割上&
並尋找一個分割結果以"q="
開頭,並將位置2的子字符串返回=
後面的所有符號。假設是會有單個匹配,這對於這種情況似乎是合理的,否則將拋出異常。如果情況並非如此,則用Where
替換Single
,循環結果並在循環中執行相同的子字符串操作。
編輯:覆蓋在評論中提到的情況下此更新版本可用於:
int index = input.IndexOf('?');
var query = input.Substring(index + 1)
.Split('&')
.SingleOrDefault(s => s.StartsWith("q="));
if (query != null)
Console.WriteLine(query.Substring(2));
因此,尋找與它爲q後立即..... – 2011-05-21 15:26:48
要包括'HttpUtility',你只需要在項目中添加一個對'System.Web'程序集的引用。它不一定是一個asp.net應用程序。 – 2011-05-21 16:23:31