C#使用占位符运行文本文件,并用用户输入替换占位符
所以我的文本文件会有这样的内容:“嗨,我的名字是[0],我在[1]…”等等,随着数字的增加。在占位符处,我想用用户输入替换占位符 我已经看了前面的问题,但我找不到一个能有效集成用户输入的问题 迄今为止的代码-C#使用占位符运行文本文件,并用用户输入替换占位符,c#,C#,所以我的文本文件会有这样的内容:“嗨,我的名字是[0],我在[1]…”等等,随着数字的增加。在占位符处,我想用用户输入替换占位符 我已经看了前面的问题,但我找不到一个能有效集成用户输入的问题 迄今为止的代码- string input = File.ReadAllText(openFileDialog.FileName); textBox1.Text = input; string result = Regex.Replace(input, "[0-9]", Console.ReadLine()
string input = File.ReadAllText(openFileDialog.FileName);
textBox1.Text = input;
string result = Regex.Replace(input, "[0-9]", Console.ReadLine());
string result2 = result.Replace("[", string.Empty).Replace("]", string.Empty);
textBox2.Text = result2;
由于
Console.ReadLine()
part中的错误,当我尝试加载文本文件时,它崩溃。我假设我需要一个循环来遍历文本文件中的文本,以找到每个占位符并请求用户输入,但我不确定如何解决这个问题 告诉我进展如何
string input = File.ReadAllText(openFileDialog.FileName);
//Hi, my name is {0} and I study at {1}...
textBox1.Text = input;
//Get your name and school here
var name = "";
var school = ""
textBox2.Text = string.Format(input, name, school);
我认为这种方法应该对你有所帮助:
public static string AdjustString(string str, List<string> userInput)
{
int i = 0;
foreach (var input in userInput)
{
var searchedSubstring = $"[{i}]";
str = str.Replace(searchedSubstring, input);
i++;
}
return str;
}
static void UsgeExample()
{
var newString = AdjustString("[0][1][2]123[3]",
new List<string> {"A", "B", "C", "D"});
}
publicstaticstringadjuststring(stringstr,List userInput)
{
int i=0;
foreach(userInput中的var输入)
{
var searchedSubstring=$“[{i}]”;
str=str.Replace(searchedSubstring,输入);
i++;
}
返回str;
}
静态void UsgeExample()
{
var newString=AdjustString(“[0][1][2]123[3]”,
新名单{“A”、“B”、“C”、“D”});
}
newString=“ABC123D”
此外,您还可以尝试使用键为“[0]”或“[1]”等的字典,以及您希望看到的值,而不是这些键。您看过字符串格式吗?您是否预先知道文件的内容,或者它是动态的?