替换字符串中的多个占位符

时间:2013-04-19 05:59:33

标签: c# asp.net

我有一个包含2个占位符的字符串,我想根据值计算在运行时替换它。做这个的最好方式是什么。我已使用下面的代码替换单个占位符,

   String posttData = @"data = google.visualization.arrayToDataTable([
                                ['Label', 'Value'],
                                ['Result', {0}]                           
                                ]);
    var options = {
        width: 1200, height: 500, redFrom: 90, redTo: 100, yellowFrom: 75, yellowTo: 90, minorTicks: 5
    };

....结果计算

var x = posttData.Replace("{0}", result.ToString());
ScriptManager.RegisterStartupScript(this, this.GetType(), "test", x, true);

如何进行多次替换?如果我需要添加其他选项,

var options = {
                   width: 1200, height: 500, redFrom: 90, redTo: 100, yellowFrom: 75, yellowTo: 90, minorTicks: 5, max: {1}

4 个答案:

答案 0 :(得分:12)

String.Format怎么样?

String str = String.Format(@"Some value {0} and some value {1}", 1, 2);

应该屈服:

  

某些值1和某些值2

您可以将12替换为您可能需要的结果。

答案 1 :(得分:5)

我a;方法创建一个更容易使用的扩展方法。

 public static class StringExtensions
    {  
        public static string FormatWith(this string source, params object[] args)
        {
            return string.Format(source, args);
        }
}

并致电

"Some value {0} and some value {1}".FormatWith(1,2);

答案 2 :(得分:2)

var result = string.Format(postData,data1.ToString(), data2.ToString());

答案 3 :(得分:0)

我建议使用字符串插值:

$"Some value {1} and some value {2}"

其中“ 1”和“ 2”可以是您需要的任何结果/表达式。

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated