这里有一些优雅的方式来获取和替换字符串中的自定义标签吗?
例如
"some long text [o:prop] and [u:date]"
结果数组:
- “[o:prop]”
- “[你:日期]”
谢谢
@"\[[a-z]:[a-z]{4}\]"
假定 1 个小写字符后跟一个冒号,然后是 4 个小写字符,全部由方括号括起来。
这总是有风险的,但是您可以使用一些正则表达式,例如:
"\\[(.*?)]"
使用全局修饰符.
更安全:\\[(o:prop|u:date)]
尝试
var replacements = new Dictionary<string,string> {
{"[o:prop]","FISH"},
{"[u:date]","2013-04-12"}
};
var testString = "some long text [o:prop] and [u:date]";
var result= new Regex(@"\[[^[]*?]").Replace(
testString,
match => replacements.ContainsKey(match.Value) ? replacements[match.Value] : match.Value);