String.Format自定义参数占位符

时间:2018-01-24 16:09:25

标签: c# string format string.format

我有一个字符串var str1 = "My name is enter image description here, I am String.Format(str1, 'Pavel', 29) years old." 我想使用String.Format();

当然它不起作用,因为for (int i = 0; i < 10; i++) { str1 = str1.Replace("{{" + i + "}}", "{" + i + "}"); } 期望参数占位符在一个大括号中

所以,我必须修改我的字符串:

<script>
    function random(n) {
        return ((Math.floor(Math.random() * Math.floor(n)))+1);
    }


var x = random(5000)+2000;
</script>

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

1 个答案:

答案 0 :(得分:1)

  

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

没有

  

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

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

如果无法做到这一点,我会选择使用正则表达式来使其更强大,性能更佳。

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