0
我现在有有一两句,看起来像这样的文本文件的文件更换相同的字符串多次:与不同的输入在C#
Hello. Your name is <name> and the username you have chosen is <username>.
Your password is <password>. Your friend's username is <username>
and their password is <password>.
我首先要做的是询问用户以下几个问题:
public string questions(string sentences)
{
Console.Write("Enter Your Name: ");
string name = Console.ReadLine();
Console.Write("Enter Your Username: ");
string userName= Console.ReadLine();
Console.Write("Enter Your Password: ");
string password= Console.ReadLine();
string textFile = File.ReadAllText(sentences);
textFile = textFile.Replace("<name>", name);
textFile = textFile.Replace("<username>", userName);
textFile = textFile.Replace("<password>", password);
File.WriteAllText(sentences, textFile);
return textFile;
}
当用户输入他们的名字,是因为只有一个<name>
,但是,当涉及到的用户名和密码是没有问题的,这是一个问题。例如,当用户输入用户名时,它会替换文件中的所有内容,当我只想替换第一个<username>
时,它会显示<username>
。我希望这个程序要做的是读取文件,每次遇到<name>
,<password>
或<username>
提示用户输入他们的名称,密码或用户名,并只替换该占位符,而不是所有具有相似名称的占位符。
有没有一种方法可以编辑我的当前代码来实现这个目标?我考虑过在<name1>
或<username1>
之类的文本文件中编号的东西,但这只适用于这个特定的文本文件。如果文本文件包含未知数量的用户名或密码会怎么样?
你能逐行读取文件中的行? – Mairaj
@MairajAhmad是的,文件可以逐行阅读。它不需要一次读取整个文本文件。 – joanne72205
嗯,你为什么要发送朋友的密码?这听起来像个坏主意。如果你正确地哈希密码,你甚至不应该这样做...... – user1429080