替换字符串中的变量?

Pom*_*ter 0 c# string

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

我有所有变量名称提出代码,我只是想找到一种方法来替换它们在字符串中.

例:

我叫@Name

我希望它成为:

我的名字是约翰.


我的守则解释说:

我有一个数组持有一个结构,其中包含:

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

在这里,我可以得到我的变量所在的索引,我有原始的字符串它的Comp.我只是不确定如何取代@Something.

int testnum;
if (Comp != "null")
{
    if (Comp.IndexOf(ArrayNode[i].TagPointer) != -1)
    {
        testnum = Comp.IndexOf(ArrayNode[i].TagPointer);                          
    }
}
Run Code Online (Sandbox Code Playgroud)

bur*_*ION 11

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

string value = "John";
string result = string.Format("My name is {0}", value);
Run Code Online (Sandbox Code Playgroud)


Fer*_*min 5

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

你可以这样做:

foreach (var tag in ArrayNode)
{
  Comp = Comp.Replace(tag.TagPointer, tag.TagValue);
}
Run Code Online (Sandbox Code Playgroud)


Oli*_*ver 5

你见过FormatWith扩展吗?

有了它你可以写这样的东西:

Status.Text = "{UserName} last logged in at {LastLoginDate}".FormatWith(user);
Run Code Online (Sandbox Code Playgroud)