Member 13142345 Ответов: 1

Получите необходимые данные из строки в VB .NET


У меня есть большая строка в VB .Сеть, которую я читаю с карточки-ключа.Информация находится в байтах, и я преобразую байт в строку.
Строка выглядит следующим образом 1 случай:



Card type: Guest Card
Guest Card type: Enhanced Format
Operating Range: Floor
Building: 3
Floor: 7  8  9  10  11  12  
Accessible public door: 10  
Time Setting: NO
Need open public door: YES
Have Public Door Sector: NO
Open all public door: NO
Start Time: 2018-8-13 8:52:00
End Time: 2018-8-15 3:0:00
Area: 1
Building: 3
Floor: 10
Room: 1
Suite: 6  
Open Deadbolt: YES
Air-condition: NO
For Safe box: NO
Passage Mode: YES
Replacement: YES


Строка выглядит так, как показано ниже во 2-м случае:

Card type: Guest Card
Issued by: Software


Что я уже пробовал:

Поэтому я хочу получить следующие данные из строки в случае 1

Card Type	: Guest card
Tower		: 3	
Start Time	: 2018-8-13 8:52:00
End Time	: 2018-8-15 3:0:00
Floor		: 9
Room		: 3


Можно ли получить необходимые данные из большой строки

OriginalGriff

Вероятно - за исключением того, что у вас есть две кодовые строки "этаж", и "9" кажется неправильным, насколько я могу видеть.
А что вы пробовали?
Где ты застрял?
Какая помощь вам нужна?

Member 13142345

Тусклая информация в виде строки
а cardinfo - это байтовый тип
и я преобразую этот байт в строку, и я получу вышеприведенную строку
информация = система.Текст.ASCIIEncoding.ASCII.GetString(CardInfo)

из этой строки я хочу извлечь только cardtype,tower,starttime,endtime,floor и Room

1 Ответов

Рейтинг:
0

Rajneesh Kumar Verma

Сделайте так, как показано ниже

string[] lines = System.IO.File.ReadAllLines(filePath);
            List<string> str = new List<string>();
            for (int j = 0; j < lines.Length; j++)
            {

                var StdReportData = lines[j];
                switch (StdReportData.Split(':')[0].ToUpper())
                {
                    case "CARD TYPE":
                        str.Add(StdReportData);
                        break;
                    case "TOWER":
                        str.Add(StdReportData);
                        break;
                    case "START TIME":
                        str.Add(StdReportData);
                        break;
                    case "END TIME":
                        str.Add(StdReportData);
                        break;
                    case "FLOOR":
                        str.Add(StdReportData);
                        break;
                    case "ROOM":
                        str.Add(StdReportData);
                        break;
                }
            }