我有一个包含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}
答案 0 :(得分:12)
String.Format
怎么样?
String str = String.Format(@"Some value {0} and some value {1}", 1, 2);
应该屈服:
某些值1和某些值2
您可以将1
和2
替换为您可能需要的结果。
答案 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