好吧,所以我有一个包含一些数据的文本文件,格式如下:
Info1-Info2
Info3-Info4
Info5-Info6
根据我的程序,我希望能够根据我提供的第一条信息获取一行的内容。所以,如果我给出“Info3”,我希望能够获得值“Info4”并将其放入字符串中。
我已经将文本文件中的文本存储在字符串中了,所以我只需要操作字符串就可以获得我想要的信息。
很抱歉,如果我以一种糟糕的方式解释这一点。谢谢!
答案 0 :(得分:5)
我会改用IDictionary。
从文件中读取时,将左侧部分(在“ - ”之前)作为“词典”键,将右侧部分作为“值”。
然后你可以通过键获得值:
dictionary [“Info3”]将返回“Info4”。
如果您需要一些实际代码,请告诉我......
编辑:添加代码
namespace ConsoleApplication2 {
class Program {
static void Main(string[] args) {
string line;
//initialize Dictionary
var keyMatch = new Dictionary<string, string>();
//opening the file
using (TextReader re = File.OpenText("Sample.txt")) {
//loop through lines
while ((line = re.ReadLine()) != null) {
keyMatch.Add(line.Substring(0, line.IndexOf("-")), line.Substring(line.IndexOf("-") + 1));
}
}
var test = keyMatch["Info5"];
}
}
}
答案 1 :(得分:0)
我注意到你将此标记为“正则表达式”。听起来你想要根据输入线(例如Info3)进行切换,因此它会匹配输出线之外的东西(例如Info4)。如果您希望ENTIRE部分匹配(不仅仅是Info4中的某些内容),只需使用上面提到的字典即可。