Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для Entergro
7 / 7 / 3
Регистрация: 18.01.2014
Сообщений: 43
.NET 4.x

Распарсить текстовый файл

25.08.2014, 19:26. Показов 1444. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.У меня есть файл yml с допустим таким содержанием :
Code
1
2
3
name: Omega
version: 3.0
bla-bla-bla....
Мне необходимо,открыть и прочитать этот файл,и в переменную pname,положить значение name,а в переменную pversion значение version и т.д.
Если вы мне поможете, буду очень благодарен!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.08.2014, 19:26
Ответы с готовыми решениями:

Распарсить текстовый файл
Подскажите пожалуйста идею\алгоритм действий, как провернуть такую штучку:) В текстовом документе есть такая надпись: Нужно...

Распарсить текстовый файл и полученные данные записать в БД Access
Добрый день! Подскажите как организовать следующее: Есть текстовый файл. В нем содержаться персональные данные такие как ФИО, дата...

Как распарсить XML-файл
А если к примеру у меня такой документ: <?xml version="1.0" encoding="utf-8"?> <Go> <And> <AK>2</AK> </And> <And> ...

5
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
25.08.2014, 19:57
Цитата Сообщение от Entergro Посмотреть сообщение
и т.д.
Что именно? Файл большой?

Может, достаточно простого перебора по строкам?
0
 Аватар для Entergro
7 / 7 / 3
Регистрация: 18.01.2014
Сообщений: 43
25.08.2014, 20:00  [ТС]
Нет,файл не большой...простого перебора достаточно
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
25.08.2014, 20:11
Лучший ответ Сообщение было отмечено Entergro как решение

Решение

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        Dim _Name, _Version, Tmp() As String
        For Each Line As String In IO.File.ReadAllLines("C:\Entergro.txt", System.Text.Encoding.Default)
            Tmp = Line.Split(":")
            If Tmp.Length > 1 Then
                If Tmp(0) = "name" Then
                    _Name = Tmp(1).Trim
                End If
                If Tmp(0) = "version" Then
                    _Version = Tmp(1).Trim
                End If
            End If
            If _Name <> "" And _Version <> "" Then Exit For
        Next
 
        MsgBox("Name = " & _Name & vbCrLf & "Version = " & _Version)
4
 Аватар для Entergro
7 / 7 / 3
Регистрация: 18.01.2014
Сообщений: 43
25.08.2014, 20:32  [ТС]
Спасибо
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
25.08.2014, 21:28
Если у Вас YAML, то лучше воспользоваться готовой библиотекой - YamlDotNet.

C#
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
namespace Ghost
{
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using YamlDotNet.RepresentationModel;
 
    class Program
    {
        static void Main(string[] args)
        {
            using (StreamReader ioReader = new StreamReader("data.yaml"))
            {
                YamlStream yamlStream = new YamlStream();
                yamlStream.Load(ioReader);
                YamlDocument document = yamlStream.Documents[0];
                YamlMappingNode mapping = (YamlMappingNode)document.RootNode;
                
                Dictionary<string, string> dictionary = mapping.ToDictionary(
                    key => ((YamlScalarNode)key.Key).Value,
                    value => ((YamlScalarNode)value.Value).Value);
 
                Console.WriteLine(dictionary["name"]);
                Console.WriteLine(dictionary["version"]);
            }
        }
    }
}

VB.NET
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Imports System
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Imports YamlDotNet.RepresentationModel
 
Module Module1
 
    Sub Main()
        Using ioStream As New StreamReader("data.yaml")
            Dim yamlStream As New YamlStream()
            yamlStream.Load(ioStream)
            Dim yamlDocument As YamlDocument = yamlStream.Documents(0)
            Dim yamlMappingNode As YamlMappingNode = CType(yamlDocument.RootNode, YamlMappingNode)
            Dim dictionary As Dictionary(Of String, String) = yamlMappingNode.ToDictionary(
                Function(key) CType(key.Key, YamlScalarNode).Value,
                Function(value) CType(value.Value, YamlScalarNode).Value)
            Console.WriteLine(dictionary("name"))
            Console.WriteLine(dictionary("version"))
        End Using
    End Sub
 
End Module
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.08.2014, 21:28
Помогаю со студенческими работами здесь

Распарсить текстовый файл
Программно я могу получить список следующего вида: ..., { id: 7, login: 'idaspin', password:...

Распарсить текстовый файл
Добрый вечер. Нужно распарсить текстовый файл, пример, текста: Вид деятельности: футболист Возраст: 32 Пол: мужчина Наград: 16 и...

Распарсить текстовый файл
Добрый вечер. Есть файл, который загружается в TextBox. В каждой строке находятся данные о квартире: 4 1 100 Проспект мира ( 4 это...

Распарсить текстовый файл
t=-100 t=-75 t=-50 t=0 t=50 t=100 t=300 1 1,0000 , 1,0000 , 1,0000 , 1,0000 , 1,0000 , 1,0000 , 1,0000 ...

Распарсить текстовый файл
Есть текстовый файл. Вот пример его содержания: Как сделать так, чтоб в файле удалилось всё, кроме &quot;id: 514350,&quot; и...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru