如何从具有多个分隔符的字符串生成器中获取值
本文关键字:字符串 获取 分隔符 | 更新日期: 2023-09-27 18:26:46
我有一个字符串生成器输出(动物年龄;狗:20,猫:10,大鼠:5#''r''n动物类型;鲸鱼:哺乳动物,鳄鱼:爬行动物#''r''n)
我希望AnimalAge作为不同的实体,AnimalType作为不同的输出。
如何将这些值分开,以便在不同的文本框''标签中填充这些值?
我没有优化代码,但它看起来应该像
var text = new StringBuilder("AnimalAge;Dog:20,Cat:10,Rat:5#'r'nAnimalType;Whale:Mammal,Crocodile:Reptile#'r'n");
var cat = text.ToString().Split(new[] { "#'r'n" }, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Split(new[] { ";" }, StringSplitOptions.None))
.Select(x => new
{
Category = x[0],
Values = x[1].Split(new[] { "," }, StringSplitOptions.None)
})
.Select(x => new
{
Category = x.Category,
Values = x.Values.ToDictionary(y => y.Split(new[] { ":" }, StringSplitOptions.None)[0], y => y.Split(new[] { ":" }, StringSplitOptions.None)[1])
})
.ToList();
最后,您将获得Category/Values对象的列表,其中Values是Dictionary