代码之家  ›  专栏  ›  技术社区  ›  koryakinp

一串设置自定义参数占位符的格式

  •  0
  • koryakinp  · 技术社区  · 7 年前

    我有一根绳子 var str1 = "My name is {{0}}, I am {{1}} years old." 我想使用 String.Format(str1, 'Pavel', 29) ;

    当然不行,因为 String.Format() 参数占位符应位于单个花括号中

    因此,我必须这样修改字符串:

    for (int i = 0; i < 10; i++)
    {
        str1 = str1.Replace("{{" + i + "}}", "{" + i + "}");
    }
    

    我想知道是否有更好的方法?有没有办法定义参数占位符的格式?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Patrick Hofman Wahid Bitar    7 年前

    有没有办法定义参数占位符的格式?

    我想知道是否有更好的方法?

    您唯一的选择是生成与兼容的格式字符串 string.Format . 这就是你现在所做的。如果可以,请修复这些格式字符串的原点。

    如果这是不可能的,我会选择使用正则表达式使其更加健壮,性能更好。

    您应该使用的表达式是 {{(\d+)}} ,可以替换为 {$1} . 在行动中看到它 here .