0

カスタムタグを文字列で取得して置き換えるエレガントな方法はありますか?

例えば

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

結果配列:

  • 「[o:prop]」
  • 「[u:日付]」

ありがとう

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 に答える