C#在文本文件中搜索术语并将其放在文本框中

时间:2013-09-26 11:10:22

标签: c# winforms streamreader

我有一个带有此内容的.properties文件:

# Credenciais da Base de Dados

 host_bd= localshot
#
user_bd=root
#
pass_bd=
#

所以我想要的是阅读这个文件,并将(例如)“localhost”传递给一个文本框。

我知道我必须搜索“host_bd =”并读取所有行,但是如何才能将“localhost”传递给文本框?

编辑:到目前为止我尝试了什么

我可以读取整个文件并将内容放在文本框中(只需使用streamreader读取所有文件)。

还有一个我用来将文本框值保存到txt文件的函数,但是这个函数再次写入所有文件并用替换术语替换搜索术语(searchterm + somevalue),我试图改变这个函数为了我的目的但到目前为止没有运气......

2 个答案:

答案 0 :(得分:1)

Regex regex = new Regex(@"^\s*host_bd\s*=\s*(?<host_bd>.*)\s*$", RegexOptions.Multiline);

string fileContent = File.ReadAllText(".properties");

Match m = regex.Match(fileContent);

if (m.Success)
{
    myTextBox.Text = m.Groups["host_bd"].Value;
}
else
{
    myTextBox.Text = "unknown";
}

答案 1 :(得分:1)

string line = File.ReadAllLines(filePath).Where(l =>l.Trim().StartsWith("host_bd")).FirstOrDefault();
string value = line.Split('=')[1].Trim();