Форум программистов, компьютерный форум, киберфорум Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для marksoft1993
19 / 16 / 3
Регистрация: 07.10.2019
Сообщений: 242
1

Вытащить из массива нужные строчки

24.10.2019, 15:07. Показов 1463. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Подскажите пж как можно вытащить из массива нужные строчки!

К примеру содержимое файла

Это тип один .fg1
Это тип два .fg2

fg записаны в конце строки для ориентировки

1. Как вообще узнать сколько строчек считано. На сколько разбился массив
2. И как возможно после условия разбить один массив на два массива к примеру в одном будут строчки с ориентиром fg1 а в другом c fg2

За ранее спасибо

Пример :

VB.NET Скопировано
1
2
3
4
5
6
7
 If System.IO.File.Exists(path) = False Then
            File.Create(path)
        ElseIf File.Exists(patch) = True Then                
            lineData = File.ReadAllLines(path, Encoding.UTF8) ' Условие на проверку файла верное! Файл записан в массив по строчкам 
 
 
        End If
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.10.2019, 15:07
Ответы с готовыми решениями:

Вытащить нужные данные из массива.
Добрый день! Интересует вот такой вопрос: допустим я хочу создать массив данных training_dat=; теперь мне его...

Распечатать нужные строчки
Нужно распечатать данные которые отмечены . 1 - вода - распечатать 2 - сок - нет 3 - минералка - распечатать Нужно распечатать...

Как вывести с базы данных нужные мне строчки?
Всем привет! В шаблоне прописано: <article class="single-from-blog"> <figure> <a...

2
Лень — мое второе и
 Аватар для Orlangur
3224 / 2413 / 686
Регистрация: 28.11.2014
Сообщений: 3,599
Записей в блоге: 3
24.10.2019, 16:35 2
Лучший ответ Сообщение было отмечено marksoft1993 как решение

Решение

marksoft1993, если совсем просто в рамках данной задачи, то можно так
Объявляем 2 листа
VB.NET Скопировано
1
2
Dim listOfFg1 As New List(Of String)
    Dim listOfFg2 As New List(Of String)
VB.NET Скопировано
1
2
3
4
5
6
7
8
9
10
11
 If IO.File.Exists(path) Then
            Dim lineData() As String = File.ReadAllLines(path, Encoding.Default) ' Условие на проверку файла верное! Файл записан в массив по строчкам 
            Label1.Text = UBound(lineData) 'количество прочитанных строк
            For i = 0 To UBound(lineData) 'цикл по всем строкам
                If lineData(i).EndsWith(".fg1") Then
                    listOfFg1.Add(lineData(i).Substring(0, lineData(i).Length - 4)) 'добавляем в лист строку кроме последних 4 символов
                ElseIf lineData(i).EndsWith(".fg2") Then
                    listOfFg2.Add(lineData(i).Substring(0, lineData(i).Length - 4))
                End If
            Next
        End If
Ну и выводим
VB.NET Скопировано
1
2
3
4
5
6
 For i = 0 To listOfFg1.Count - 1
            ListBox1.Items.Add("FG1: " & listOfFg1(i))
        Next
        For i = 0 To listOfFg2.Count - 1
            ListBox1.Items.Add("FG2: " & listOfFg2(i))
        Next
Добавлено через 33 минуты
Если планируется делать много типов, то предлагаю такой вариант
Формат файла
Кликните здесь для просмотра всего текста
Это тип один|.fg1
Это тип два|.fg2
Это тип три|.fg3
Это тип четыре|.fg4
Это тип пять|.fg5
Это тип шесть|.fg6
Это тип семь|.fg7
Это тип восемь|.fg8
Это тип девять|.fg1
Это тип десять|.fg2
Это тип одиннадцать|.fg3

Добавляем класс
VB.NET Скопировано
1
2
3
4
Public Class MyType
    Public Type As String
    Public Value As String
End Class
Объявляем лист этих классов
VB.NET Скопировано
1
 Dim ListOfTypes As New List(Of MyType)
Считываем строки из файла
VB.NET Скопировано
1
2
3
4
5
6
7
8
If IO.File.Exists(path) Then
            Dim lineData() As String = File.ReadAllLines(path, Encoding.Default) ' Условие на проверку файла верное! Файл записан в массив по строчкам 
            Label1.Text = UBound(lineData)
            For i = 0 To UBound(lineData)
                Dim SpLine() As String = Split(lineData(i), "|")
                ListOfTypes.Add(New MyType With {.Type = SpLine(1), .Value = SpLine(0)})
            Next
        End If
Далее работаем с этим листом. К примеру, надо показать все содержимое листа
VB.NET Скопировано
1
2
3
 For i = 0 To ListOfTypes.Count - 1
            ListBox1.Items.Add(ListOfTypes(i).Type & ": " & ListOfTypes(i).Value)
        Next
Или необходимо подсчитать сколько записей определенного типа
Создаем функцию
VB.NET Скопировано
1
2
3
4
5
6
7
8
9
Function CountOfType(ByVal type As String) As Integer
        Dim Cnt As Integer = 0
        For i = 0 To ListOfTypes.Count - 1
            If ListOfTypes(i).Type = type Then
                Cnt += 1
            End If
        Next
        Return Cnt
    End Function
И просто вызываем её, передавая нужный тип
VB.NET Скопировано
1
  MsgBox("Записей .fg1: " & CountOfType(".fg1"))'CountOfType(".fg1") - вызов функции, как аргумент передаем нужный тип, в ответ получаем целое число совпадений
Добавлено через 11 минут
Или можно изменить функцию поиска совпадений на такую
VB.NET Скопировано
1
2
3
4
5
6
7
8
9
  Function CountOfType(ByVal type As String) As List(Of Integer)
        Dim Cnt As New List(Of Integer)
        For i = 0 To ListOfTypes.Count - 1
            If ListOfTypes(i).Type = type Then
                Cnt.Add(i)
            End If
        Next
        Return Cnt
    End Function
В этом случае мы получим лист с индексами, где были совпадения, для дальнейшей работы с ними
VB.NET Скопировано
1
2
3
4
5
6
 Dim Res() As Integer = CountOfType(".fg1").ToArray
        Dim result As String = "Всего записей .fg1: " & Res.Count & vbNewLine
        For i = 0 To UBound(Res)
            result &= ListOfTypes(Res(i)).Value & vbNewLine
        Next
        MsgBox(result)
При этом получим результат
Кликните здесь для просмотра всего текста
Всего записей .fg1: 2
Это тип один
Это тип девять
1
 Аватар для marksoft1993
19 / 16 / 3
Регистрация: 07.10.2019
Сообщений: 242
24.10.2019, 18:03  [ТС] 3
Спасибо вам! Часть кода уже применил! Все работает ! Со всем разобрался!
Вопрос такой не по теме! Забегая на перед в vb.net можно применять написанные сценарии на явке например ??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.10.2019, 18:03
Помогаю со студенческими работами здесь

Удалять строчки до тех пор пока не встретятся нужные
К примеру у меня есть текст .... ... .... .... .... Нужная строка ..... ...

Как из документа из нескольких страниц выбрать нужные строчки в отдельный файл?
Есть документ, сканированный,распознанный. Состоит из 50 страниц.На каждой странице есть по нескольку строчек (например:строчка марка,...

Вытащить нужные данные из файла
Здравствуйте. Такая ситуация: Нужно 'выцыпить ' нужные данные из файла. Например: Текст файла: 34?Вася 56?Петя 78?Коля ...

можно ли сделать так, чтобы в списке нужные строчки выделялись каким-то цветом?
Подскажите, пожалуйста, можно ли сделать так, чтобы в списке нужные строчки выделялись каким-то цветом? Допустим, есть список зданий, и...

Как через dbradiogroup сделать чтобы во второй таблице оставались нужные строчки
Как через dbradiogroup сделать чтобы во второй таблице оставались нужные строчки. Нужно чтобы оставались строки "Тип накладной"


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Лучшие практики оптимизации Docker Image
Mr. Docker 13.03.2025
Размер Docker-образа влияет на множество аспектов работы с контейнерами. Чем больше образ, тем дольше его загрузка в реестр и выгрузка из него. Для команд разработки, работающих с CI/ CD пайплайнами,. . .
Вопросы на собеседовании по Docker
Mr. Docker 13.03.2025
Ты сидишь напротив технического специалиста, и вдруг звучит вопрос про Docker Swarm или многоэтапные сборки. Пот на лбу? Не переживай, после этой статьи ты будешь готов ко всему! Эта статья будет. . .
Поиск текста в сносках : замена дефиса на тире или тире на дефис...
РоΜа 13.03.2025
Нужно было найти текст в сносках и заменить. Почему-то метод селекшн не сработал. . . пришлось гуглить. найденный на форумвба код пришлось править. Смысл - заменяет в сносках дефисы и тире на нужные. . . .
Real PATH definitions in bash scripts
jigi33 13.03.2025
Как поймать путь и путь к директории относительно запускаемого файла в BASH 1. поймать путь через вывод $(pwd) 2. более правильно - на основе realpath (см. скриншот)
Django или Flask: что выбрать для веб-разработки на Python
py-thonny 13.03.2025
Django – это высокоуровневый фреймворк, который придерживается философии "всё включено". Он предоставляет разработчику готовые решения для большинства типичных задач веб-разработки: от аутентификации. . .
Непрерывное развертывание в Java с Kubernetes
Javaican 13.03.2025
Чем так привлекателен Kubernetes для развертывания Java-приложений? Этот оркестратор контейнеров позволяет автоматизировать развертывание, масштабирование и управление контейнеризированными. . .
Предотвращение XSS, CSRF и SQL-инъекций в JavaScript
run.dev 13.03.2025
JavaScript занимает первые позиции среди языков веб-разработки, но его распространенность делает его привлекательной целью для злоумышленников. Межсайтовый скриптинг (XSS), межсайтовая подделка. . .
PHP 8: JIT-компиляция и улучшение производительно­сти
Jason-Webb 13.03.2025
PHP никогда не славился своей скоростью. Многие сталкивались с проблемами производительности при работе со сложными вычислениями или обработкой больших объемов данных. Традиционная модель выполнения. . .
Сериализация данных с Apache Avro в Kafka
Javaican 12.03.2025
Apache Kafka стала одним из ключевых решений для работы с большими потоками данных. Однако с ростом объемов передаваемых данных возникает проблема: как эффективно сериализовать и десериализовать. . .
Создание потребителей Kafka с помощью Reactor Kafka
Javaican 12.03.2025
Reactor Kafka — это библиотека, объединяющая Apache Kafka с реактивным программированием на базе Project Reactor. Такое сочетание позволяет строить неблокирующие, асинхронные приложения с контролем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер