gpt4 book ai didi

c# - 使用 linq 从分号分隔的字符串创建字典

转载 作者:行者123 更新时间:2023-11-30 13:24:02 24 4
gpt4 key购买 nike

所以我有一个像这样的字符串:

"some key:some value; john:doe;age:234"

我已经写了一个接受这个字符串并返回一个的方法:

Dictionary<string,string>

很好奇是否有人可以通过 linq 做到这一点?

最佳答案

假设定界符不能出现在键或值中:

var dict = str.Split(';')
.Select(s => s.Split(':'))
.ToDictionary(a => a[0].Trim(), a => a[1].Trim()));

这不是最快的方法,但它是最简单的。

你也可以使用正则表达式:

static readonly Regex parser = new Regex(@"([^:]):([^;])");

var dict = parser.GetMatches(str)
.Cast<Match>()
.ToDictionary(m => m.Groups[0].Value.Trim(),
m => m.Groups[0].Value.Trim()
);

关于c# - 使用 linq 从分号分隔的字符串创建字典<string,string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com