我正在搜索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);
}
}
答案 0 :(得分:10)
使用string.Format()
,string.Replace()
不太方便
string value = "John";
string result = string.Format("My name is {0}", value);
答案 1 :(得分:5)
除非我遗漏了什么,否则你不能使用string.replace功能吗?
您可以执行以下操作:
foreach (var tag in ArrayNode)
{
Comp = Comp.Replace(tag.TagPointer, tag.TagValue);
}
答案 2 :(得分:3)
为什么不使用 即
string name = "Giusepe";
string _tmp = "My name is @Name";
_tmp = _tmp.Replace("@Name", name);
答案 3 :(得分:3)
你见过FormatWith
extension吗?
有了它,你可以这样写:
Status.Text = "{UserName} last logged in at {LastLoginDate}".FormatWith(user);
答案 4 :(得分:2)
您可以遍历数组并使用.Contains()
查看您提供的标记,并使用.Replace()
将标记替换为实际值。
答案 5 :(得分:1)
你想要这个:
string a = "@Something";
a = a.Replace("@somethig", Value);
答案 6 :(得分:0)
几年后,我们现在有string interpolation可以帮助解决此问题。