0

在我的应用程序中,我有一个注册表单。当他们提交表单时,我希望它从这些文本框中获取值并将它们合并到文本文档的某些部分中。所以代码需要读取文本文件,在正确的位置插入数据,然后保存为新文件。我一直在阅读如何使用它,.split('symbol')所以也许这会起作用。

例如:user123123.txt,我的名字是 {namebox}。我 {agebox} 岁。 namebox = Amy agebox = 21

我真的不知道该怎么做。我已经尝试使用该string.format()函数,但无法弄清楚如何让它读取文本文件并将值插入我需要的位置。

4

3 回答 3

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);
于 2012-08-16T19:09:36.000 回答
3

只需使用string.Replace几次。

string newString = "My name is {namebox}. I am {agebox}"
                   .Replace("{namebox}", txtName.Text)
                   .Replace("{agebox}", txtAgeBox.Text);
于 2012-08-16T19:09:27.400 回答
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);
于 2012-08-16T19:12:43.780 回答