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

Регулярные выражения

10.09.2018, 12:14. Показов 512. Ответов 2

Author24 — интернет-сервис помощи студентам
Есть такой текст:

Тип объекта Квартира
Тип дома Царский дом
Этаж 15
Этажность 25
Общая площадь 138 м²
Площадь кухни 15 м²
Количество комнат 4
Отопление Централизованное
Ремонт После строителей
Бытовая техника Духовой шкаф

(пример для программы собирающей данные с анкеты).
Нужно с помощью рег выражения получить после "Площадь кухни " значение "15 м²". Пытался, но всегда либо не выдавало совпадений, либо выдавало не то.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2018, 12:14
Ответы с готовыми решениями:

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

Регулярные выражения в C#
Здравствуйте уважаемые программисты, я столкнулся с задачей нужно написать регулярное выражение,...

Регулярные выражения
Добрый день господа. Не смог нигде найти ответа на следующий вопрос. Имеется класс символов ,...

Регулярные выражения
Помогите, пожалуйста, реализовать решение задания с использованием методов класса Regex Задание:...

2
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
10.09.2018, 12:25 2
Цитата Сообщение от denisfarstov Посмотреть сообщение
Нужно с помощью рег выражения
обычный substring вполне справится
0
Эксперт JS
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
10.09.2018, 13:01 3
denisfarstov,
В JavaScript:
let regexp = /Площадь\sкухни\s(\d+\sм²)/u;

Там степень двойки является символом юникода. Поэтому без /u в JavaScript не сработает.

Добавлено через 7 минут
Непосредственно в C#
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Text.RegularExpressions;
 
namespace Question2319485
{
    class Program
    {
        static void Main(string[] args)
        {
            var str = @"Тип объекта Квартира
Тип дома Царский дом
Этаж 15
Этажность 25
Общая площадь 138 м²
Площадь кухни 15 м²
Количество комнат 4
Отопление Централизованное
Ремонт После строителей
Бытовая техника Духовой шкаф
";
var regex = new Regex(@"Площадь\sкухни\s(\d+\sм²)");
C#
1
2
3
4
5
6
7
8
9
            var match = regex.Match(str);
            if(match.Success)
            {
                Console.WriteLine(match.Groups[1]);
            }
            Console.ReadKey();
        }
    }
}
Там вторая хитрость, что само искомое значение надо заключать в круглые скобки, и потом его брать по индексу 1.
0
10.09.2018, 13:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2018, 13:01
Помогаю со студенческими работами здесь

Регулярные выражения
Помогите пожалуйста, нужно на C# написать регулярное выражение по поиску строки в массиве. Буду...

Регулярные выражения
Нужно удалить из текста введенного пользователем все русские слова.

Регулярные выражения
Есть задание проверить есть ли в строке открывающая скобка, сразу после неё один символ, а потом...

Регулярные выражения
подскажите пожалуйста, как при помощи регулярных выражений выделить строку, начало которой...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru