我有一个包含许多"合并字段"的长字符串,所有合并字段将采用以下格式:<<FieldName>>.
该字符串都会有不同的类型,例如多个合并域<<FirstName>>,<<LastName>>
如何循环遍历字符串并找到所有合并字段,以便我可以用文本替换字段?
我不会知道字符串中所有不同的Merge字段,用户可以在两个指标之间输入任何内容,即 <<Anything>>
理想情况下,我希望远离任何正则表达式,但很乐意探索所有选项.
RegularExpression在这里最有意义
string text = "foo <<FieldName>> foo foo <<FieldName>> foo";
string result = Regex.Replace(text, @"[<]{2}\w*[>]{2}", "bar", RegexOptions.None);
Run Code Online (Sandbox Code Playgroud)
UPDATE没有正则表达式-问题得到了更新后:
Dictionary<string, string> knownFields = new Dictionary<string, string> { {"<<FirstName>>", "Jon"}, {"<<LastName>>", "Doe"}, {"<<Job>>", "Programmer"}};
string text = "Hello my name is <<FirstName>> <<LastName>> and i work as a <<Job>>";
knownFields.ToList().ForEach(x => text = text.Replace(x.Key, x.Value));
Run Code Online (Sandbox Code Playgroud)