|
2 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 179
|
|
Алгоритм замены слов в начале и конце строки20.05.2021, 12:43. Показов 742. Ответов 5
Есть строки, содержащие название занятий и фамилии преподавателей.
Каждая фамилия сопоставляется со справочником. В результате сопоставления возможен вариант, когда нашлась группа фамилий, очень похожих на искомую (исходная фамилия набрана с ошибкой). В этом случае пользователь выбирает правильную версию написания и далее при обработке строк идёт автоматическая замена Всё хорошо работает кроме двух ситуаций: 1 в начале фамилии пропустили букву Например, вместо Грищенко набрано ищенко. Если такую пару добавить в автозамену, тогда все правильно набранные Грищенко станут ГГрищенко 2 в конце фамилии не поставили букву Например вместо Кузнецова набрано Кузнецов. Если такую пару добавить в автозамену, тогда все правильно набранные Кузнецова станут Кузнецоваа Может у кого-то была подобная проблема? Какие решения возможны? Добавлять для 1 случая пробел в начале и 2-го в конце, лишь частично решает проблему, т.к. могут буть знаки препинания, а также фамилия может в 1 случае стоять в начале строки, а во 2-м в конце. PS может Тема для другой ветки? Тогда куда посоветуете?
0
|
|
| 20.05.2021, 12:43 | |
|
Ответы с готовыми решениями:
5
В строке символов удалить все пробелы в начале и в конце строки, удвоить пробелы в середине строки и напечатать количество слов Количество слов в согласной в начале и конце
|
|
859 / 509 / 187
Регистрация: 09.03.2009
Сообщений: 1,724
|
|
| 20.05.2021, 13:10 | |
|
Может быть, сделать лист с фамилиями преподавателей (их не так много ведь) и сверять? Или при корректировке пользователем заносить туда. Сомнительное выделять цветом для уточнения.
Первый случай можно проверить регистром - должно с большой буквы начинаться. А второе сложно, ибо русский язык флективен. Если набрать Иванов, то неясно, действительно имели в виду Иванов или же Иванова.
1
|
|
|
2 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 179
|
|||||
| 20.05.2021, 13:53 [ТС] | |||||
Это только для форума, для наглядности. В программе массив/лист с двумя столбцами 'найти' 'замена на'
Вот только нет гарантии, что составитель не напишет фамилию с маленькой буквы.... Впрочем, тогда тоже можно будет добавить в список замен такой вариант.
0
|
|||||
|
859 / 509 / 187
Регистрация: 09.03.2009
Сообщений: 1,724
|
||
| 20.05.2021, 13:56 | ||
|
Либо передавать это на второй этап проверки по дисциплинам. А может, изменить исходный лист и не давать им вводить, а только выбирать из списка, "насаженного" на готовый список преподавателей?
0
|
||
|
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
|
||
| 20.05.2021, 14:07 | ||
|
OrestBerserker,
Неизвестен принцип вашей автозамены... Есть 100500 путей ... Для конкретной помощи ( или совета) куска кода- маловато. Необходим весь код , или писать все заново как указал уважаемый Zeag, :
0
|
||
|
2 / 1 / 0
Регистрация: 27.01.2015
Сообщений: 179
|
|||
| 20.05.2021, 15:03 [ТС] | |||
|
1 Распознание строки идет в модуле и там решается часть задач, если не требуется вмешательство пользователя, а если требуется (собственно - уточнение, что за фамилия) - код идет в форме 2 аццкая куча переменных, понятных мне одному))), не везде камменты Поэтому попробую поподробнее сам алгоритм расписать. Вот более подробный алгоритм 1 Открываю новый лист одного курса одного факультета 2 Провожу автозамену (тут целая обойма: ошибки по аудиториям, названиям дисциплин, фамилиям, ... просто удаление лишних комментариев) 3 Первичное распознание строки (здесь строка вроде "Физика 1/4 лаб В405,Г112 Иванова, Петрова" переводится в формат !Физика!1/4!л/р!В405,Г112!Иванова, Петрова! - т.е. дисциплина, №занятия, вид занятия, аудитории, преподаватели - в свои ячейки таблицы) *** Жуткий алгоритм определения что есть что, где если неочевидно - "спортзал" - аудитория или преподаватель, "Заяц" - это фамилия или аудитория **** - собственно здесь всплывает форма, см аттач Кликните здесь для просмотра всего текста
Жуткий алгоритм определения что есть что назван "жутким" потому что там предусматривается куча ошибок со стороны составителей лишь малая часть примера ради - вся строка может быть написана без пробелов или через запятую - аудиторией может быть "спортзал" "1111" или "класс самоподготовки" - т.е. какого-то стандарта нет - последовательность что за чем может быть разной: скажем, сначала преподаватели, потом аудитории, или вообще какой-то компонент может быть опущен. Скажем, ещё аудитории не проблили. .... в общем, это ужасная штука, которая едва ли поможет, но скорее запутает ... ... распознаю все листы ... 4 Вторичное распознание (здесь в каждый элемент строки сопоставляется с соответствующей таблицей базы и получает соответствующий id) Narimanych, но если все же код он нужен, я его выложу. Так же готов уточнить любой пункт алгоритма
0
|
|||
| 20.05.2021, 15:03 | |
|
Помогаю со студенческими работами здесь
6
создайте текстовый файл, содержащий в начале каждой строки гласные буквы соответствующей строки данного текстового файла а в конце строки-согласные бу
Найти max/min элементы каждой строки матрицы и разместить их в начале/конце строки соответственно Удаление символов в начале и в конце строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|