2010-03-09 60 views
1

如何拆分和剝離X字符串值爲單獨的變量?如何拆分並剝離成多個變量?

X具有的

itemA=myvalue&itemB=anothervalue&itemC=andanother 

我有3個字符串(VAR1,VAR2,VAR3),以保持所述剝離值的值的字符串值。

查找字符串X「意達=」複製後「=」字符一切直到「&」字符或者如果沒有「&」字符被發現副本,直到字符串的結尾(存儲這個值到VAR1)

查找在串X「itemB =」複製後「=」字符,直到「&」字的一切如果沒有「&」字符被發現副本,直到字符串的結尾(存儲這個值到VAR2)

查找字符串X「itemB =「在」=「字符之後複製所有內容,直到」&「字符或如果沒有」&「字符CTER發現副本,直到字符串的結尾(存儲這個值到VAR3)

回答

6

使用System.Web.HttpUtility。即使在非Web應用程序中,如果對System.Web的引用不成問題,也可以使用它。

var values = HttpUtility.ParseQueryString(
    "itemA=myvalue&itemB=anothervalue&itemC=andanother"); 

Console.WriteLine(values["itemA"]); 
Console.WriteLine(values["itemB"]); 

可以列出所有的鍵:

foreach (var key in values.AllKeys) 
{ 
    Console.WriteLine(key); 
} 
+0

但在這裏你必須知道檢索值的關鍵,如果我想要得到鍵列表? – 2010-03-09 11:56:03

+0

解決方案沒有工作, – 001 2010-03-10 23:45:20

+0

@Khou,爲什麼它沒有工作? – 2010-03-11 10:56:35

2
string X = "itemA=myvalue&itemB=anothervalue&itemC=andanother"; 
string[] variables = X.Split('&'); 
foreach (var variable in variables) 
{ 
    string key = variable.Split('=')[0]; //Ex. itemA 
    string value = variable.Split('=')[1]; //Ex.myvalue 
    //do whatever you want with the value 
} 
+0

+1打我。我會用X替換「」來匹配問題,並且var可以很容易地用字符串來避免缺少c#3;) – 2010-03-09 11:54:01

+0

此解決方案不允許指定鍵。 密鑰可能按不同的順序排列,您將無法確定密鑰之間的差異。 – 001 2010-03-10 23:48:55

+0

這是正確的,我同意:) – 2010-03-11 06:12:07

1

如果它的asp.net應用程序,你可以使用查詢字符串。

string value1 = Request.QueryString["itemA"]; 
string value2 = Request.QueryString["itemB"]; 
string value3 = Request.QueryString["itemC"]; 
0
string[] pairs = mystring.Split('&'); 
var1 = pairs[0].Split('=')[1]; 
var2 = pairs[1].Split('=')[1]; 
var3 = pairs[1].Split('=')[1];