c# -使用RegEx将字符串拆分为字符串数组,并创建字典
本文关键字:字符串 创建 字典 string 使用 RegEx 拆分 数组 | 更新日期: 2023-09-27 18:08:37
我如何创建一个RegEx,将分割字符串格式就像下面的字符串数组?字符串的键和值应该用分号分隔,如果没有','分隔键和值,则不应该通过RegEx测试。
字符串看起来像这样:
var splitMe = "[Key1,Value1][Key2,Value2][Key3,Value3][Key4,Value4]";
var splitedArray = Regex.Split(/'RegEx Here'/);
//Output value should like this one ["Key1,Value1","Key2,Value2","Key3,Value3","Key4,Value4"]
//this value also will be the key and value of a Dictionary<string,string>
使用Regex.Matches
与Linq链接直接获取字典会更简单:
var input = "[Key1,Value1][Key2,Value2][Key3,Value3][Key4,Value4]";
var dictionary = Regex.Matches(input, @"'[(?<key>'w+),(?<value>'w+)']")
.Cast<Match>()
.ToDictionary(x => x.Groups["key"].Value, x => x.Groups["value"].Value);
我想这对你很有用:
'[('w+,'w+)']
Regex101
我不确定你在键和值中可能有什么数据,但也许下面会更包容?
'[([^,]+?,[^,]+?)']
如果你想使用分割,你可以匹配你需要的:
('[|']'[|'])