1

我正在搜索 Excel 电子表格模板的内容,以替换 @Something 表示的所有变量。

我已经将所有变量名称都包含在代码中,我只是在寻找一种将它们替换为字符串的方法。

例子:

我的名字是@Name

我希望它变成:

我的名字是约翰。


我的代码解释:

我有一个包含一个结构的数组,该结构包含:

TagPointer:这是我的变量@name,TagValue:这将是名字 John

在这里,我可以获得变量所在位置的索引,并且我有原始字符串它的比较。我只是不确定如何替换@Something。

int testnum;
if (Comp != "null")
{
    if (Comp.IndexOf(ArrayNode[i].TagPointer) != -1)
    {
        testnum = Comp.IndexOf(ArrayNode[i].TagPointer);                          
    }
}
4

7 回答 7

12

使用string.Format()string.Replace()不太方便

string value = "John";
string result = string.Format("My name is {0}", value);
于 2012-08-06T08:12:51.047 回答
5

除非我遗漏了什么,否则你不能使用string.replace函数吗?

您可以执行以下操作:

foreach (var tag in ArrayNode)
{
  Comp = Comp.Replace(tag.TagPointer, tag.TagValue);
}
于 2012-08-06T08:12:20.220 回答
5

你见过FormatWith扩展吗?

有了它,您可以编写如下内容:

Status.Text = "{UserName} last logged in at {LastLoginDate}".FormatWith(user);
于 2012-08-06T08:30:00.727 回答
4

为什么不使用ie

string name = "Giusepe";
string _tmp = "My name is @Name";
_tmp = _tmp.Replace("@Name", name);
于 2012-08-06T08:12:39.940 回答
2

您可以遍历您的数组并使用.Contains()来查看您存在的标签并使用 将.Replace()标签替换为实际值。

于 2012-08-06T08:14:10.253 回答
1

你想要这个吗:

string a = "@Something";
a = a.Replace("@somethig", Value);

?

于 2012-08-06T08:13:48.817 回答
0

多年后,我们现在有了字符串插值来帮助解决这个问题。

于 2020-11-27T14:52:50.420 回答