Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 24.02.2016
Сообщений: 9

И снова регулярные выражения

27.04.2016, 06:32. Показов 592. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Есть у меня программка, которая генерирует xml файлик. Я его распарсил и получил лист, где каждый элемент - строка вида
"Any_text\\ anothertext:FileName.tst#000000124#00020 1142#00000524" или
"Any_text\\ anothertext:FileName.tst#000000124#00020 1142" или
"Any_text\\ anothertext:FileName.tst#000000124#"

Сами цифры сейчас не важны - важно, что их от 1 до 3-4 блоков, разделенных#. Соответственно стоит две задачи
- для каждого элемена листа определить сколько этих блоков с цифрами (1 или 2 или 3)
- получить уникальный ID собрав числа в единый INT типа: 124201142524 или просто 124 если блок всего одион

Вообщем пытаюсь придумать как решить первую задачку...дальше думаю, сам справлюсь
Спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2016, 06:32
Ответы с готовыми решениями:

И снова регулярные выражения
Добрый день. Ребята прошу помощи. Есть такой текст: (привожу только малый кусок) listForItem 1 6371 0 0 0 1 7"><font...

И снова регулярные выражения, начало строки
Имеется подобный текст: ...

Регулярные выражения - вывод сообщения об ошибке при нахождении в строке выражения, начинающегося с цифры
Нужно чтобы при нахождении в строке выражения начинающегося с цифры появлялось сообщение об ошибке,например если ввести :2a,то будет...

3
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
27.04.2016, 06:57
строку 124201142524 в целое число не переведёшь, т.к. слишком длинная. Храни строкой
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static string GetValueFromXmlString(string xmlString)
{
    List<string> resultList = new List<string>();
    try
    {
        Regex regexObj = new Regex("#(?<value>[0-9]{1,9}){1,4}", RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture);
        Match matchResult = regexObj.Match(xmlString);
        while (matchResult.Success)
        {
            resultList.Add(matchResult.Groups["value"].Value);
            matchResult = matchResult.NextMatch();
        }
    }
    catch (ArgumentException ex)
    {
        // Ошибка в регулярном выражении
    }
    return resultList.Aggregate((first, second) => string.Format("{0}{1}", int.Parse(first), int.Parse(second)));
}
0
0 / 0 / 0
Регистрация: 24.02.2016
Сообщений: 9
27.04.2016, 06:58  [ТС]
спасибо большое
в принципе строкой подойдет так же
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
27.04.2016, 07:05
Цитата Сообщение от mrmax Посмотреть сообщение
получить уникальный ID собрав числа в единый INT типа: 124201142524 или просто 124 если блок всего одион
А если число в int не поместится?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            List<string> lst = new List<string>()
            {
                "Any_text\\ anothertext:FileName.tst#000000124#000201142#00000524",
                "Any_text\\ anothertext:FileName.tst#000000124#000201142",
                "Any_text\\ anothertext:FileName.tst#000000124#"
            };
 
            foreach(var str in lst)
            {
                var tokens = Regex.Matches(str, @"(?<=#)\d+");
 
                var result = string.Concat(tokens.Cast<Match>().Select(m => int.Parse(m.Value).ToString()));
 
                Console.WriteLine(result);
            }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.04.2016, 07:05
Помогаю со студенческими работами здесь

Регулярные выражения в C#
Помогите пожалуйста! Заранее спасибо! Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения...

Регулярные выражения
Задача: Некоторые строки текстового файла содержат GUID (строчка, состоящая из 8, 4, 4, 4, 12 шестнадцатеричных цифр, разделенных...

Регулярные выражения
как из 3-й строки &lt;input type=&quot;hidden&quot; name=&quot;meta_web_form_id&quot; value=&quot;1647619578&quot; /&gt; &lt;input type=&quot;hidden&quot;...

Как сделать чтобы регулярка работала не учитывая регистр?
Здравствуйте, сделал такую регулярку : static void Main(string args) { String n = &quot;вася&quot;;...

Регулярные выражения
В строке есть подстрока вида d,d,d,d,c,с , где d - число от 0 до 255, с - от 0 до 999. Этот запрос может найти d,d,d,d: string s...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru