簡體   English   中英

在字符串中查找一行,並從該行中獲取信息

[英]Finding a line in a string, and grabbing information from line

好的,所以我有一個文本文件,其中包含一些數據,格式為:

Info1-Info2
Info3-Info4
Info5-Info6

通過我的程序,我希望能夠根據我提供的第一條信息獲得一行的內容。 因此,如果我輸入“ Info3”,我希望能夠獲取值“ Info4”並將其放入字符串中。

我已經將文本文件中的文本存儲在字符串中,因此我只需要操縱字符串即可獲取所需的信息。

對不起,如果我用不好的方式解釋了這一點。 謝謝!

我會改用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"];
        }
    }
}

我注意到您將其標記為“正則表達式”。 聽起來您想基於輸入線(例如Info3)進行切換,因此它會匹配輸出線(例如Info4)之外的內容。 如果要使ENTIRE部分匹配(而不僅僅是Info4中的某些內容),只需使用如上所述的字典即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM