如何用值替换字符串中的占位符

时间:2010-01-12 06:04:48

标签: c# regex

给出字符串

string command = "%ans[1]%*100/%ans[0]%"

将替换为 %ans [1]%到数组[1] %ans [0]%到数组[2]

如何使用数组中的值替换command中的占位符以获得以下结果?我应该使用正则表达式吗?

并使用Regex.Replace?

"test2*100/test1"

3 个答案:

答案 0 :(得分:3)

您可以使用string.Format将字符串插入命令字符串:

string command = "{0}*100/{1}";

string[] array = new string[] { "test1", "test2" };

string.Format(command, array[1], array[0]);

答案 1 :(得分:2)

您可以尝试使用标准替换

这样的东西
string command = "%ans[1]%*100/%ans[0]%";
string[] array = new string[] { "test1", "test2" };
for (int iReplace = 0; iReplace < array.Length; iReplace++)
    command = command.Replace(String.Format("%ans[{0}]%", iReplace), array[iReplace]);

答案 2 :(得分:1)

这样做,但我怀疑这是你想要的。哦,好吧。

for (int i = 0; i < array.Length; i++)
{
    command = command.Replace(string.Format("%ans[{0}]%", i), array[i]);
}