Поиск строки в строке и получение информации из строки - PullRequest
0 голосов
/ 04 января 2011

Хорошо, поэтому у меня есть текстовый файл с некоторыми данными в этом формате:

Info1-Info2
Info3-Info4
Info5-Info6

С моей программой я хотел бы иметь возможность получать содержимое строки на основепервая часть информации, которую я даю.Итак, если я задаю «Info3», я хотел бы иметь возможность получить значение «Info4» и поместить его в строку.

У меня есть текст из текстового файла, хранящийся в строке, поэтомуМне просто нужно манипулировать строкой, чтобы получить нужную информацию.

Извините, если я объяснил это неправильно.Спасибо!

Ответы [ 2 ]

5 голосов
/ 04 января 2011

Вместо этого я использовал бы 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"];
        }
    }
}
0 голосов
/ 04 января 2011

Я заметил, что вы пометили это как "регулярное выражение".Похоже, что вы хотите сделать переключение на основе строки ввода (например, Info3), и, соответственно, он будет соответствовать что-то из строки вывода (например, Info4).Если вы хотите, чтобы ВЕСЬ раздел совпадал (не только что-то в Info4), просто используйте словарь, как упомянуто выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...