在我的申请表中,我有一个注册表格。当他们提交表单时,我希望它从这些文本框中获取值并将它们合并到文本文档的certian部分。因此代码需要读取文本文件,将数据插入正确的位置,然后另存为新文件。我一直在阅读如何使用.split('symbol')
所以也许这样可行。
例如:user123123.txt,我的名字是{namebox}。我{agebox}岁。
namebox = Amy
agebox = 21
我真的不知道该怎么做。我已经尝试使用string.format()
函数,但无法弄清楚如何读取文本文件并将值插入到我需要的位置。
答案 0 :(得分:4)
类似的东西:
// giving name = "Marvin", age = "23"
var name = "Marvin";
var age = 23;
var text = File.ReadAllText("c:\\path\\to\\file");
var result = text.Replace("{name}", name).Replace("{age}", age);
File.WriteAllText("c:\\path\\to\\anotherFile", result);
答案 1 :(得分:3)
只需使用string.Replace
几次。
string newString = "My name is {namebox}. I am {agebox}"
.Replace("{namebox}", txtName.Text)
.Replace("{agebox}", txtAgeBox.Text);
答案 2 :(得分:0)
这个逻辑可以实现如下:
public static string CustomFormat(string format, Dictionary<string, string> data)
{
foreach (var kvp in data)
{
string pattern = string.Format("{{{0}}}", kvp.Key);
format = format.Replace(pattern, kvp.Value);
}
return format;
}
客户代码:
const string format = "My name is {namebox}. I am {agebox} years old.";
var input = new Dictionary<string, string>
{
{ "namebox", "Jon Doe" },
{ "agebox", "21" }
};
string s = CustomFormat(format, input);