Cara,
Primeiro Leia todas as linhas com o método.
string[] linhas = File.ReadAllLines(@"bd.txt");
Se o formato for este mesmo você terá que fazer caso a caso. Mas se tiver um separador é só fazer um SPLIT.
LINHA A LINHA VC VAI FAZER ISSO:
NOME: EDUARDO MANCIR IDADE: 27 ENDERECO: RUA ALTINO ARANTES NUMERO: 297
Você terá que fazer um indexof("NOME:")
e fazer um substring até o indexof("IDADE:").
Assim por diante...
Vou tentar fazer um exemplo de código para te mandar.
StringBuilder newFile = new StringBuilder();
string[] lines = File.ReadAllLines(@"C:\ProjetosParticulares\SubstituirLinha\SubstituirLinha\bd.txt");
foreach (string line in lines)
{
int startNome = line.IndexOf("NOME:");
int startIdade = line.IndexOf("IDADE:");
int startEndereco = line.IndexOf("ENDERECO:");
int startNumero = line.IndexOf("NUMERO:");
int startCidade = line.IndexOf("CIDADE:");
string nome = line.Substring(startNome, startIdade - startNome);
string idade = line.Substring(startIdade, startEndereco - startIdade);
string endereco = line.Substring(startEndereco, startNumero - startEndereco);
string numero = line.Substring(startNumero, startCidade - startNumero);
string cidade = line.Substring(startCidade, line.Length - startCidade);
string[] nomeSeparado = nome.Split(':');
string[] idadeSeparado = idade.Split(':');
string[] enderecoSeparado = endereco.Split(':');
string[] numeroSeparado = numero.Split(':');
string[] cidadeSeparado = cidade.Split(':');
Console.WriteLine(nomeSeparado[1]);
Console.WriteLine(idadeSeparado[1]);
Console.WriteLine(enderecoSeparado[1]);
Console.WriteLine(numeroSeparado[1]);
Console.WriteLine(cidadeSeparado[1]);
}
Console.ReadLine();
Terá que usar o mesmo principio para os outros.