Форум программистов, компьютерный форум, киберфорум
Софт: Текстовые редакторы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 32
1
Windows

NotePad++ Операция с выделенным текстом

14.02.2022, 23:02. Показов 1888. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день всем !

Имеется кусок выделенного текста

высота 2024 мм
глубина 384 мм
мод.гарнитур да
ширина 1200 мм
стиль модерн

Как с помощью регулярного выражения преобразовать выделенный текст
по условию - убрать лишние пробелы в строках (все пробелы больше одного заменить на один пробел), поставить двоеточие после первого слова и сделать все строки с большой буквы - получится так

Высота: 2024 мм
Глубина: 384 мм
Мод.гарнитур: да
Ширина: 1200 мм
Стиль: модерн
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.02.2022, 23:02
Ответы с готовыми решениями:

Notepad++ Операции с выделенным текстом по строкам
Добрый вечер всем ! Возникла задача чем-то помечать выделенные строки в NotePad, чтобы эти...

Notepad++ замена символа между текстом
Доброго времени суток! Подскажите пожалуйста, как в Notepad++ заменить через регулярные выражения...

Операции в memo с выделенным текстом
кто знает, как в delphi 7 можно совершать операции с выделенным текстом в memo, например, изменить...

Работа с выделенным текстом в memo
Допустим, мне нужно реализовать изменение шрифта ТОЛЬКО у выделенных символов в memo. Как мне...

9
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,128
15.02.2022, 06:03 2
Только в 2 прохода. Сперва меняем \s{2,} на пробел, а потом ^(.)(\S+) на \u\1\2:.
1
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 32
15.02.2022, 09:20  [ТС] 3
Двоеточие работает ^(.)(\S+) на \u\1\2: спасибо !
А вот меняем \s{2,} на пробел к сожалению не сохраняет порядок строк и выстраивает все в одну строку

те было
высота 2024 мм
глубина 384 мм
мод.гарнитур да
ширина 1200 мм
стиль модерн

стало так
Высота 2024 мм глубина 384 мм модульный гарнитур да ширина 1200 мм стиль модерн
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,128
15.02.2022, 09:38 4
Потому что выставлен чекбокс ☑ и новые строки.
Хотя и без флажка то же самое. Тут косяк программы.
Тогда <пробел>\K + меняем на <пусто>.
1
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 32
15.02.2022, 12:35  [ТС] 5
понятно попробую

Добавлено через 28 минут
да так заработало - удаляет лишние пробелы и сохраняет порядок строк

Добавлено через 4 минуты
еще один вопрос остался - как сделать первые буквы строк в выделенном диапазоне заглавные ?
поискал в интернете - нашел
Код
(?:(?<=^)|(?<=\W))\w
меняем на \U$0\E
работает но только с латиницей (англ буквами) - с русскими не работает.
как изменить чтоб работало с русскими буквами ?

Добавлено через 24 минуты
сорри предыдущий код некорректно работает - заменяет на заглавные все слова
надо так

было

высота шкафа 2024 мм
глубина шкафа 384 мм
мод.гарнитур шкафа да
ширина шкафа 1200 мм
стиль шкафа модерн

стало

Высота шкафа 2024 мм
Глубина шкафа 384 мм
Мод.гарнитур шкафа да
Ширина шкафа 1200 мм
Стиль шкафа модерн

те заглавная буква появляется только в первом слове каждой строки выделенного диапазона
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,128
15.02.2022, 12:37 6
Цитата Сообщение от svin8888 Посмотреть сообщение
Двоеточие работает ^(.)(\S+) на \u\1\2:
Почему это только двоеточие? У меня в приведённом тексте прекрасно меняет регистр первых букв.
0
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 32
15.02.2022, 13:06  [ТС] 7
Попробовал с латиницей (англ буквами еще) - да сорри действительно меняет первые буквы английские - но к сожалению русские почемуто не меняет у меня

Добавлено через 8 минут
Итоговый результат такой получается (если добавить англ слова):

характеристики:
Sell: высота sell 2024 мм
глубина: 384 мм
Sell: модульный гарнитур да
ширина: 1200 мм
стиль: модерн

У английских слов меняет первую букву, а у русских почемуто нет

Добавлено через 18 минут
заменил на последнюю версию NotePad 8.3 - результат такой же- русские буквы не меняет
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,128
15.02.2022, 13:19 8
Попробуйте версию 8.1.3.
1
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 32
15.02.2022, 13:34  [ТС] 9
У меня версия рабочая 8.1.4 - не работает 8.3 портабельную последнюю скачал - тоже не работает
Скачал 8.1.3 портабельную по вашему совету - ВСЕ Работает !
Интересно почему так ? Что с последними версиями не так ?
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,128
15.02.2022, 13:37 10
Фиг знает. Это к разрабам вопрос, что они там поломали. )
0
15.02.2022, 13:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2022, 13:37
Помогаю со студенческими работами здесь

Как работать с выделенным текстом?
Как работать с выделенным текстом. Например, если в JEditorPane ввести текст, потом выдалить его...

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

Не отправляется сообщение с текстом в Notepad и в Sublime
Всем привет! Имею такой код - (изначально моя форма открывается visible=false, по Alt+V она...

Где взять Solarized Light Notepad Theme для Notepad++ ?
Где взять Solarized Light Notepad Theme для Notepad++ ?

Операция - Бух и налог Операция
версия 1с : 8.1! Никак не могу изменить Из отчета Субконто 1 , 2, или 3 на другой контрагент!...

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

Локалка с выделенным IP
Здравствуйте у меня интернет с выделенным IP могу ли я сделать локальную сеть с доступом в интернет...


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

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