1

重複の可能性:
ユーザーベースの文字列テンプレート

Your invoice ref %name% is overdue by %age% days実行時にオブジェクトからのデータで'%'文字の間にカプセル化されたものに置き換えたい形式の文字列があります。

以下のコードがありますが、これまでのところ、角かっこでしか機能しません(パーセンテージの正しい正規表現を計算できません)。%shortcode%で機能させるにはどうすればよいですか?

第二に、私も左右のトリミングに取り掛かる必要があります。パーセンテージなしで文字列を単純に返すことは可能ですか?

public void GenerateReminderContent(string text, Invoice invoice)
{
    var result = Regex.Replace(text, @"\([^\]]*)\]", delegate(Match match)
    {
        var shortcode = match.Value.ToLower();
        shortcode = shortcode.TrimEnd(']');
        shortcode = shortcode.TrimStart('[');

        if (shortcode == "name")
            return invoice.Name;
        else if (shortcode == "age")
            return invoice.Age;
        else
            return "unknown-shortcode";
     });
}
4

0 に答える 0