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 に答える