Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2

Замена в тексте куска текста

07.07.2019, 15:49. Показов 1768. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу программно сократить прилагательные и причастия
что-то типа
C#
1
2
3
4
5
6
7
8
9
10
11
12
            string txt = cb.Text;
            string[] mas = {"авский", "адский", "ажный", "азский", "айский", "альный", "альский",
                "анный", "анский", "арский", "атский", "ейский", "ельный", "ельский", "енный",
                "енский", "ентальный", "ерский", "иальный", "ийский", "инский", "ионный",
                "ирский", "ительный", "ический", "ованный", "овский", "одский", "ольский", "орский",
                "афический", "огический", "омический", "еский", "ьский", "ьской", "ский", "ской",
                "кий", "ний", "ный"};
            for (int i = 0; i < mas.Length; i++)
            {
                txt = txt.Replace(txt, mas[i]);
            }
            return txt + ".";
но вместо остатка слова выдает кусок из массива
кстати буду признателен за совет глобального масштаба как стоит подходить к решению таких вопросов
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.07.2019, 15:49
Ответы с готовыми решениями:

поиск и замена текста в очень большом тексте
я искал куски текста и заменял их на другие пока не получил System.OutOfMemoryException, вызванное String.Replace(). и стало понятно, что...

Удаление куска текста из переменной StringBuilder
Нужна помощь или подсказка. Постараюсь описать максимально понятно. Задача: Есть GUI на WinForm на ней n-количество checkbox, и всего...

Не работает алгоритм чтения куска текста
Не пойму, почему не работает, ничего не происходит, может поможет кто-нибудь private void button3_Click(object sender, EventArgs e) ...

10
106 / 82 / 15
Регистрация: 07.06.2011
Сообщений: 588
Записей в блоге: 2
07.07.2019, 16:24
Цитата Сообщение от AndreA SN Посмотреть сообщение
Хочу программно сократить прилагательные и причастия
Непонятно, приведите пример.
0
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2
07.07.2019, 16:37  [ТС]
"ставропольский" сократить до "ставроп."
Это делается согласно стандарту сокращений. В частности здесь п. 3.4

Добавлено через 59 секунд
я все сокращаемые части помести в массив и пытаюсь в словах их найти

Добавлено через 2 минуты
)))) начал писать пояснение - и дошло где делаю ошибку
правильно так

C#
1
 txt = txt.Replace(mas[i], ".");
вопрос закрыт

Добавлено через 18 секунд
это просто устал наверное
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
07.07.2019, 16:55
AndreA SN, Ну если вы таким подходом хотите использовать код, то вам придется писать не (ставроп) а (опольский) и все что вы найдете в тексте на окончание (опольский) будет заменено на '.'
0
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2
07.07.2019, 18:20  [ТС]
Почему? работает как надо. Он в слове "Ставропольский" (txt) ищет кусок "ольский" (mas[i]) и заменяет его на "." Получается "Ставроп." По ГОСТ. Проверил - работает именно так.
0
 Аватар для Aferuga
645 / 529 / 324
Регистрация: 20.05.2015
Сообщений: 1,471
09.07.2019, 08:21
AndreA SN,
Прикол в том что, данный код лучше использовать один раз и как следует проверять все сокращения (либо делать замену как в ворде)
Например в Магаданской области есть Ольский район и код может его заменить на точку
Второй момент лучше отсортировать массив по длине чтобы проверка начиналась от большего к меньшему.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
09.07.2019, 13:34
Может надежней будет использовать словарь сокращений ?
0
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2
09.07.2019, 16:19  [ТС]
Я думаю над этим. на самом деле словарь сокращений тоже немаленький.
Дело в наших русских окончаниях, родах, спряжениях, склонениях и т.п.
Существует словарь сокращений. но он приводится для канонической словарной формы. В тексте же слова этой форме соответствуют в одном из 3-4 случаев. Вот и думаю...
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16137 / 11261 / 2888
Регистрация: 21.04.2018
Сообщений: 33,099
Записей в блоге: 2
09.07.2019, 16:22
AndreA SN, это очень большая задача. И одним словарём здесь не обойдёшься.
А с учётом падежей, склонений... ОООчень не просто.
0
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2
09.07.2019, 16:26  [ТС]
Мало того: на одно слово может быть несколько видов сокращений. И не всегда самый короткий остаток является самым лучшим вариантом.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16137 / 11261 / 2888
Регистрация: 21.04.2018
Сообщений: 33,099
Записей в блоге: 2
09.07.2019, 16:29
Цитата Сообщение от AndreA SN Посмотреть сообщение
Мало того...
Здесь нужен или полный словарь сопоставлений. Но это возможно для сравнительно небольшого количества слов.
В общем же случае без лексико-грамматического анализа не обойтись.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.07.2019, 16:29
Помогаю со студенческими работами здесь

Замена символов в тексте
Привет. Срочно нужна помощь в решении задачи. так как не успеваю до зачета. Задача символьного типа. Дан массив символов, содержащий...

Замена строки в тексте, часть которой - непостоянна
Есть файл, в нём 35 строк. Вот первые 2: SET locale &quot;enGB&quot; SET realmlist &quot;127.0.0.1&quot; Мне надо заменить строку SET realmlist...

Замена определённых слов в тексте на слова из словаря
Имеется код. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; ...

Стеганография текста в тексте
Не особо понимаю, как это реализовать. Но в теории это должно работать так, что есть исходный текст с пробелами и в эти пробелы можно...

Поиск текста между символами в тексте
Здравствуйте мне нужно из кода страницы взятого с браузера, найти все строки между символами и записать их в файл на рабочем столе. ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru