最好用正则表达式...
比如:
str="BAIDUID=33E9592BF717019119A028A842EFE840:FG=1,Domain=.baidu.com,Path=/;BDUSS=zNmbkw1MVFCfjEzZlBVTWotZXdXOG5tUTQ1WW05TUtlbk1JaUN-bWFjSkxhclpPQVFBQUFBJCQAAAAAAAAAAApBESGsm0cbZ29kaXNnZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgCuVzAAAAAOAK5XMAAAAAcF1CAAAAAAAxMC42NS4yNEvdjk5L3Y5Oa,Domain=.baidu.com,Path=/;PTOKEN=7ccaa6100b39a8312d3b5ed9fcd7d4ab,Domain=passport.baidu.com,Path=/;STOKEN=90b0773a4d24696dc773afda743d2c03,Domain=passport.baidu.com,Path=/;USERID=210ec08e8886ea51d0b7af,Domain=.baidu.com,Path=/"
CookieCollection GetCookieFormString(string str)
{
/////////
}

解决方案 »

  1.   


    CookieCollection GetCookieFromString(string str)
    {
    string pattern = "((?<name>.+?)=(?<value>.+?)[:,])+?Domain=(?<domain>.+?),Path=(?<path>.+?);?";
    var cookies = new CookieCollection();
    Regex.Matches(str, pattern).Cast<Match>().SelectMany(m =>
    Enumerable.Range(0, m.Groups[1].Captures.Count).Select(i =>
    new Cookie(m.Groups["name"].Captures[i].Value,
    m.Groups["value"].Captures[i].Value,
    m.Groups["path"].Value,
    m.Groups["domain"].Value)))
    .ToList()
    .ForEach(c => cookies.Add(c));
    return cookies;
    }