我需要用一个字典中的相应值替换所有占位符,如{text}
。用字典替换字符串c#
这是我的代码:
var args = new Dictionary<string, string> {
{"text1", "name"},
{"text2", "Franco"}
};
saveText(Regex.Replace("Hi, my {text1} is {text2}.", @"\{(\w+)\}", m => args[m.Groups[1].Value]));
的问题是:如果输入字符串文本不存在于字典,它抛出一个异常,但我宁愿需要以字符串"null"
来替换占位符。
你预计该键值可以包含有效的正则表达式的代码?如果确实如此,那么这种正则表达式替换将不起作用。 – Enigmativity
@Enigmativity为什么不呢? –
@LucasTrzesniewski - 尝试在键和输入字符串中用{text.1}替换'{text1}'。 OP代码的结果变成'Hi,my {text.1}是Franco.'。 – Enigmativity