【发布时间】:2015-05-09 06:00:12
【问题描述】:
我正在尝试解析以下字符串并获取结果。
string test = "SiteA:Pages:1,SiteB:Pages:4,SiteA:Documents:6"
我试图在拆分后得到以下结果。
string SiteA = "Pages:1,Documents:6"
string SiteB = "Pages:4"
这是我的代码,但它似乎不起作用。如何获取所有相关的“SiteA”和“SiteB”?
List<string> listItem = new List<string>();
string[] keyPairs = test.Split(',');
string[] item;
foreach (string keyPair in keyPairs)
{
item = keyPair.Split(':');
listItem.Add(string.Format("{0}:{1}", item[0].Trim(), item[1].Trim()));
}
【问题讨论】:
-
你得到了什么结果?我猜你有两个 SiteA 作为 item[0] 的项目。
-
不工作是正常的。您第二次使用 : 进行解析,并且子字符串中有多个 :,因此您最终会丢失“页面”之后的部分,因为您只保留 item 变量的 [0] 和 [1]。
标签: c#