0

这里有一些优雅的方式来获取和替换字符串中的自定义标签吗?

例如

"some long text [o:prop] and [u:date]"

结果数组:

  • “[o:prop]”
  • “[你:日期]”

谢谢

4

4 回答 4

2
@"\[[a-z]:[a-z]{4}\]"

假定 1 个小写字符后跟一个冒号,然后是 4 个小写字符,全部由方括号括起来。

于 2013-04-12T15:08:24.840 回答
1

这总是有风险的,但是您可以使用一些正则表达式,例如:

"\\[(.*?)]"

使用全局修饰符.

更安全:\\[(o:prop|u:date)]

于 2013-04-12T14:52:51.563 回答
1

是的。使用正则表达式。

http://www.regular-expressions.info/

读。学。申请。

于 2013-04-12T14:53:08.197 回答
0

尝试

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);
于 2013-04-12T15:06:59.230 回答