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

Регулярные выражения. Учитывать пробелы

17.12.2018, 08:28. Показов 6645. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно добавить текст в список, но чтобы учитывались пробелы, т.е. если я обращаюсь к 1 или к 3 элементу списка там был бы пустой элемент.

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
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.IO;
 
namespace ConsoleApplication4
{
 
 
    class Program
    {
 
 
 
 
        static void Main(string[] args)
        {
 
            List<string> list = new List<string>();
            string str = "A B C D";
            Regex new_regex = new Regex(@"[a-zA-z][a-zA-z0-9_]*");
            MatchCollection space = new_regex.Matches(str);
 
            foreach (Match match in space)                                            
            {
                list.Add(match.Value);
            }
 
 
            foreach (string s in list)                                            
            {
                Console.WriteLine(s);
            }
 
            Console.WriteLine(list[1]);
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.12.2018, 08:28
Ответы с готовыми решениями:

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

Регулярные выражения
Здравствуйте) Такой вопрос: Мне нужно найти в ... &lt;div class=&quot;product__col&quot;&gt; &lt;h1 class=&quot;product__hl&quot;&gt;Плитка настенная...

Регулярные выражения
Добрый вечер! Засел на регулярках. Имею строку на вход: (1+2)*(1+9). Не могу составить регулярку способную вычленить из строки лишь одну...

8
51 / 43 / 12
Регистрация: 12.05.2017
Сообщений: 111
17.12.2018, 08:54
Не совсем понятно, что Вам нужно. Но вот это выделяет из строки "слова", содержащие буквы, цифры и знак "_", и пробелы, которые эти слова разделяют.
C#
1
Regex new_regex = new Regex(@"([a-zA-Z0-9_]+|\s+){1}");
0
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
17.12.2018, 09:17  [ТС]
Цитата Сообщение от Wolfy314 Посмотреть сообщение
Не совсем понятно, что Вам нужно. Но вот это выделяет из строки "слова", содержащие буквы, цифры и знак "_", и пробелы, которые эти слова разделяют.
Немного не то. Мне нужно чтобы вместо пробелов в список заносился пустой элемент.

C#
1
string str = "A    B C D";
После А у меня четыре пробела, нужно чтобы в списке после A тоже следовало четыре пустых элемента.

Добавлено через 6 минут
Т.е. мне надо учитывать пробелы в тескте и вместо пробелов заносить пустой элемент в список.
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
17.12.2018, 09:28
ivret,
C#
1
2
string str = "A  B C D";
var list = str.Split(null).ToList();
Добавлено через 6 минут
ivret, Если хотите все пробелы, то
C#
1
MatchCollection matchCollection = Regex.Matches(str, "\\w|\\s");
0
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
17.12.2018, 09:29  [ТС]
Цитата Сообщение от PoPsa85 Посмотреть сообщение
string str = "A *B C D";
var list = str.Split(null).ToList();

У меня вместо букв текст будет. Мне нужны регулярные выражения.
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
17.12.2018, 09:36
ivret, Для вашего примера я вам написал регулярку
0
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
17.12.2018, 09:45  [ТС]
Цитата Сообщение от PoPsa85 Посмотреть сообщение
ivret, Для вашего примера я вам написал регулярку
В вашем примере слова разделяются на отдельные буквы. Мне нужно чтобы в тексте учитывались пробелы но слова не разделялись на буквы.

Добавлено через 5 минут
Вот это
C#
1
\\w|\\s
как-то добавить к
C#
1
Regex new_regex = new Regex(@"[a-zA-z][a-zA-z0-9_]*");
Раньше у меня это работало, сейчас никак не получается нормально сделать
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
17.12.2018, 09:57
Лучший ответ Сообщение было отмечено ivret как решение

Решение

Цитата Сообщение от ivret Посмотреть сообщение
как-то добавить к
Так и добавить [a-zA-z][a-zA-z0-9_]*|\s
0
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
17.12.2018, 10:03  [ТС]
Цитата Сообщение от PoPsa85 Посмотреть сообщение
Так и добавить [a-zA-z][a-zA-z0-9_]*|\s

Спасибо, заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.12.2018, 10:03
Помогаю со студенческими работами здесь

Регулярные выражения
Привет! Вот только позавчера сел за C#. Столкнулся с проблемой реализации одного момента. Суть такова: с клавиатуры вводится некая...

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

Где можно почитать про регулярные выражения на русском?
где можно про них почитать и чтобы инфа на русском была и объяснено было как для чайников

Регулярные выражения
Как из строки &lt;div class=&quot;pp_cont&quot;&gt; &lt;h2 class=&quot;op_header&quot;&gt;Юлия Шафрон&lt;b class=&quot;lvi mlvi&quot;&gt;&lt;/b&gt;&lt;/h2&gt; &lt;div...

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru