powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Мини-парсер на C#
6 сообщений из 6, страница 1 из 1
Мини-парсер на C#
    #38809848
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как вытащить параметры из текстовой строки, мне нужно знать чему равно sid, и последующие параметры aNum , bNum и т.д. Может в .NET есть какие-то стандартные средства чтобы парсить такие строки?

Пример строки:
Код: c#
1.
 {sid=DATA01, aNum = 12, bNum=1 }


Код: c#
1.
{sid=DATA03, aNum = 3 }


Код: c#
1.
{sid=DATA12}


Код: c#
1.
{}
...
Рейтинг: 0 / 0
Мини-парсер на C#
    #38809877
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже на JSON
...
Рейтинг: 0 / 0
Мини-парсер на C#
    #38809923
Alex Antipenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,

Код: c#
1.
2.
3.
4.
5.
6.
7.
            string str_data = " {sid=DATA01, aNum = 12, bNum=1 }";

            foreach (string oneDotParam in str_data.Trim("{,}".ToCharArray()).Split(','))
            {
                string[] eq_data = oneDotParam.Split('=');
                Console.WriteLine("{0} -> {1}", eq_data[0], eq_data[1]);
            }
...
Рейтинг: 0 / 0
Мини-парсер на C#
    #38809939
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрЫмер с Json.
Код: 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.
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization.Json;


namespace ConsoleApplication7
{
    public class Response
    {
        public string name { set; get; }
        public int id { set; get; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Response));
            Stream ms = new MemoryStream(Encoding.ASCII.GetBytes("{\"name\":\"ololo\" , \"id\":111}"));
            Response objResponse = jsonSerializer.ReadObject(ms) as Response;
            if (objResponse != null)
                Console.WriteLine(String.Format("{0},{1}",objResponse.id, objResponse.name));
        }
    }
}
...
Рейтинг: 0 / 0
Мини-парсер на C#
    #38809954
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
string str = "{sid=DATA01, aNum = 12, bNum=1 }";
Regex rx = new Regex(@"([^{},\s=]+)\s*=\s*([^{},\s]*)");
MatchCollection matches = rx.Matches(str);



matches[i].Groups[1].Value - имя
matches[i].Groups[2].Value - значение


Но это если такая линейная конструкция, нет вложенных объектов. Иначе надо думать.
...
Рейтинг: 0 / 0
Мини-парсер на C#
    #38810488
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо помогло! )
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Мини-парсер на C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]