【发布时间】:2020-02-08 17:57:54
【问题描述】:
我有一个 lstSubs List<KeyValuePair<string, string>
其中包含值
- FNAME,“ABC”
- LNAME "XYZ"
- VAR001,“VAR002”
- VAR002,“VAR001 的实际值”
- VAR003,“VAR004”
- VAR004 , "VAR005"
- VAR005,“VAR003 的实际值”
我有一个字符串,例如 envelop "Hello [FNAME] [LNAME],您创建了一个对 [VAR001] 的请求,该请求已分配给 [VAR003]"
var regex = new Regex(@"\[(.*?)\]");
var matches = regex.Matches(envelop.ToString());
foreach (Match match in matches)
{
columnValue = linq to get the value from the list based on key;
envelop.Replace(match.Value, columnValue);
}
在此,直接的 Key,Value 对很容易通过 Linq 获得,但我很难获取嵌套在连接 Key,Value 方面的复杂值。
在 LINQ 中是否有任何方法或必须使用循环。 预期输出:您好 ABC XYZ,您创建了一个对 ActualValueforVAR001 的请求,该请求已分配给 ActualValueforVAR003
谢谢, PS。代码不完整。它是整个代码的一部分,旨在使其简洁发布
已编辑:由于格式设置,我的某些文本不可见。 当我根据配置它们的某些条件创建它们时,它们的字典值是嵌套的
【问题讨论】:
-
你没有字典。
-
VAR001 指向 VAR002,所以你认为当字符串被替换时,VAR001 应该替换为 VAR002 的实际值,VAR003 应该替换为 VAR005 的实际值?