Как разделить и разделить на несколько переменных? - PullRequest
1 голос
/ 09 марта 2010

Как разделить и разделить значения строки X на отдельные переменные?

X имеет строковое значение

itemA=myvalue&itemB=anothervalue&itemC=andanother

У меня есть 3 строки (var1, var2, var3) для хранения значений извлеченных значений.

Найти в строке X "itemA =" скопировать все после символа "=" до символа "&" ИЛИ, если не найдено символа "&", скопировать до конца строки (сохранить это значение в var1)

Найти в строке X "itemB =" скопировать все после символа "=" до символа "&" ИЛИ, если не найдено символа "&", скопировать до конца строки (сохранить это значение в var2)

Найти в строке X "itemB =" скопировать все после символа "=" до символа "&" ИЛИ, если не найдено символа "&", скопировать до конца строки (сохранить это значение в var3)

Ответы [ 4 ]

6 голосов
/ 09 марта 2010

Использование System.Web.HttpUtility . Вы можете использовать это даже в не веб-приложении, если ссылка на 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);
}
2 голосов
/ 09 марта 2010
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 
}
1 голос
/ 09 марта 2010

Если это приложение asp.net, вы можете использовать QueryString.

string value1 = Request.QueryString["itemA"];
string value2 = Request.QueryString["itemB"];
string value3 = Request.QueryString["itemC"];
0 голосов
/ 09 марта 2010
string[] pairs = mystring.Split( '&' );
var1 = pairs[0].Split( '=' )[1];
var2 = pairs[1].Split( '=' )[1];
var3 = pairs[1].Split( '=' )[1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...