|
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 61
|
|||||||||||
.NET 10 Удаление команд из текста10.12.2025, 08:16. Показов 3033. Ответов 31
Метки нет (Все метки)
Здравствуйте.
Хочу узнать как можно удалять из текста команды которые выглядят вот так:
Но я не понимаю структуру команд регулярных выражений. Мне нужен пример. Не думаю что нужно там под каждую команду своё регулярное выражение. Мне кажется должно быть возможным прописать вариант (по крайней мере для таких команд). Суть команды в том что она начинается на \ дальше кодовый символ команды. Скобки (могут быть любыми). В скобках сама команда. И ещё такая суть что есть команда \\ которая попросту заменяется на символ \. Так что это тоже нужно учесть. Но это в целом легко учесть если сначала заменить \\ на \.
0
|
|||||||||||
| 10.12.2025, 08:16 | |
|
Ответы с готовыми решениями:
31
Запись текста в Label и удаление текста из него по Backspace
|
|
|
|||||||
| 17.12.2025, 23:41 | |||||||
|
Borisov_Alex, на вскидку если:
0
|
|||||||
|
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
|
|
| 18.12.2025, 04:58 | |
|
Borisov_Alex, это всё не то. Это ты мне своё видение решения какой-то проблемы описываешь. А я спрашиваю что за проблема такая исходно. Что за команды, почему они в любом тексте встречаются, и почему надо ограничивать длину текста?
Я это спрашиваю потому, что нормальное решение может оказаться совершенно не таким, как ты ожидаешь.
0
|
|
|
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 61
|
||
| 18.12.2025, 11:41 [ТС] | ||
|
Изначально подумал что удалить команды и далее сделать перенос. Но не подумал а как потом вернуть обратно ибо после переноса позиция команд в тексте полностью собьется.
0
|
||
|
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
|
|
| 18.12.2025, 15:43 | |
|
Borisov_Alex, теперь всё встало на свои места.
Регулярные выражения тут можно было бы использовать. Но ты про производительность и эффективность тоже упомянул (похвально). А это значит, что придётся писать лексический анализатор, который будет разбивать входящую строку на лексемы ("текст", "команда", "параметр команды") и отдавать их (через IEnumerable<T>) рендереру, который и будет вычислять длину текущей строки и выполнять разбиение. Будет максимально эффективно. Только тут явно понадобится список допустимых команд. Изначально выглядело, что достаточно "\С" или "\N", но видно что команд сильно больше.
1
|
|
|
7152 / 2340 / 353
Регистрация: 10.12.2013
Сообщений: 8,115
|
||
| 18.12.2025, 18:12 | ||
|
Ему нужен нормальный(читай настоящий) текстовый редактор, чтобы было удобно редактировать очень большой текстовый файл, служащий ресурсом для какой-то игрульки. Намекаю на nvim. Кака бычно. Например, упомянутый 'Конверт регистров' и 'обрамление кавычками' производятся в vim неуловимыми движениями двух пальцев. Способ автоматизации данных движений тоже имеется. Всё давно придумано (40 лет тому назад) и то, что мОлодежь ничего не знает и изобретает велосипед - це обычное невежество, которое сложно оправдать, имея под руками интернет и всякий там ИИ.
0
|
||
|
14790 / 9564 / 1367
Регистрация: 21.01.2016
Сообщений: 36,060
|
|
| 18.12.2025, 18:15 | |
|
volodin661, ТС обозначил, что ему нужно текст разбивать на строки ограниченной длины, но учитывающий некие лексемы, которые разбивать не можно.
0
|
|
|
7152 / 2340 / 353
Регистрация: 10.12.2013
Сообщений: 8,115
|
|
| 18.12.2025, 18:54 | |
|
Ну так и я об этом; текст большой, всё слитно, глаза разбегаются, если просто холодно ограничить ширину, чтобы поудобней,
то linebreak может попасть на 'некую лексему', которую разбивать не надо. Со всеми задачами подобного рода отлично справляются настоящие текстовые редакторы. Добавлено через 2 минуты И уж совсем непонятно, зачем тут C#.NET
0
|
|
|
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 61
|
|
| 18.12.2025, 19:10 [ТС] | |
|
Вообще текст не будет сильно большой. В самом большом сценарии в одно сообщение влезает 4 строки по около 60 символов в каждом + команды.
Список команд естественно имеется. Всего около 50. Некоторые откровенно простые такие как \! \^ \G и т.д. Но некоторые с параметрами которые как правило указываются либо в таких: []; либо в таких: <> скобках. Так что на счёт длинных сообщений это я конеш загнул. Хотя могут быть и длинными но это явно в пределах разумного. Скажем так ни целая книга. Никто в здравом уме не станет писать многомиллионный текст для одного сообщения. В любом случае я понятия не имею как сделать перенос текста так чтобы это учитывало команды. Предположительно к числу допустимых символов в строке добавить длинну команд. Но хотя способ наверное нерабочий. Понятно что точный вариант тут никак не посчитаешь. Банально неизвестно на что команды будут меняться. Но хотябы преблезительно. Мне именно что нужно сделать перенос текста чтобы текст команд не учитывался. Обновить обычную функцию переноса текста которую выше писал.
0
|
|
|
|
||
| 18.12.2025, 20:56 | ||
|
Borisov_Alex,
1. Ты в чем и на чем это все делаешь? Это твое самописное приложение на C# будет, этот "редактор"? 2. Перенос строк, в частности по словам - умеют делать многие контролы сами из коробки. 3. Перенос строк для визуализации (просмотра в редакторе) вовсе не означает, что нужно реально менять исходный текст, вставляя перенос строк в него. Разве что со способностью ясно излагать суть вопроса у ТС проблема.
0
|
||
|
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 61
|
||||
| 20.12.2025, 11:29 [ТС] | ||||
|
Вот мне и нужна одна из функций редактора отредактировать текст под стандарт движка который сделает перенос текста при достижении длинны.
0
|
||||
|
|
|
| 20.12.2025, 17:41 | |
|
Borisov_Alex, хм.. Окей.
А что если: а) лимит символов упирается прямо в середину/часть команды? Переносится все, что идет сразу после команды? б) лимит уперся в середину/часть слова (не команды). Это слово обрезается и остаток его переносится на новую строку?
0
|
|
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 25.12.2025, 15:02 | |||
|
Добавлено через 3 минуты
0
|
|||
| 25.12.2025, 15:02 | |
|
Интерпретатор команд, записанных в текстовом файле Не могу написать проект... (интерпретатор команд для управления объектом) Клиент-сервер: использование команд для управления рабочим процессом Shutdown в C# выполнение команд, через вин-форму, как в ком.строке) Имитация команд "копировать", "вставить", "удалить" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последнея моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|