|
20 / 20 / 5
Регистрация: 22.07.2015
Сообщений: 63
|
|||||||||||
Анализ текста02.12.2022, 16:50. Показов 986. Ответов 14
Метки нет (Все метки)
Здравствуйте Уважаемые!
В RichTextBox есть текст, раскладываемый на слова после удаления всех символов, кроме букв и цифр. Слова, по количеству вхождений грузятся в ListView. Проблема: Текст в 28 000 знаков анализируется без проблем. Но, стоит увеличить количество знаков в двое — приложение виснет. Что в отладке, что в скомпилированном виде. Вопрос: Подскажите в чём беда? Код удаления не буквенно-цифровых символов.
Код сортировки обработанного текста.
Подскажите — в чём беда?
0
|
|||||||||||
| 02.12.2022, 16:50 | |
|
Ответы с готовыми решениями:
14
Посимвольный анализ текста
Частотный анализ текста |
|
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
|
|
| 03.12.2022, 00:28 | |
|
Попробуйте такой вариант, интерфейс сами нарисуете
1
|
|
|
20 / 20 / 5
Регистрация: 22.07.2015
Сообщений: 63
|
|
| 03.12.2022, 16:21 [ТС] | |
|
Большое спасибо за ответ. Но форум глючит и не даёт скачать вложения.))
0
|
|
|
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
|
||||||
| 03.12.2022, 16:23 | ||||||
|
Diamock, тогда так
1
|
||||||
|
20 / 20 / 5
Регистрация: 22.07.2015
Сообщений: 63
|
|
| 03.12.2022, 17:15 [ТС] | |
|
Спасибо за оперативный ответ. Потестю и отпишусь)))
Добавлено через 48 минут 116rus, дружище! Прям ОГРОМНОЕ СПАСИБО! Проверил на тексте в 4 миллиона знаков — обрабатывает за пару секунд. Если вы не против, я бы ещё пару вопросов вам задал в продолжение этой темы.
0
|
|
|
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
|
|
| 03.12.2022, 17:22 | |
|
Diamock, задавайте
0
|
|
|
20 / 20 / 5
Регистрация: 22.07.2015
Сообщений: 63
|
||||||
| 03.12.2022, 18:36 [ТС] | ||||||
|
Хотелось бы отсортировать на лету — вхождения по количеству:
P.S. Конечно, в процессе написания пары вопросов возникла ещё куча параллельных... Но, сначала разберусь с классами MatchCollection и Dictionary, а после буду спрашивать.
0
|
||||||
|
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
|
|
| 03.12.2022, 19:12 | |
|
Diamock, https://dropfiles.ru/download/... 1eae5.html
Процентное соотношение я указал как считать, выведете сами)
1
|
|
|
20 / 20 / 5
Регистрация: 22.07.2015
Сообщений: 63
|
|
| 05.12.2022, 15:27 [ТС] | |
|
В продолжение темы...
Со всем разобрался. С нумерацией, с процентами. Спасибо! Только тестирование выявило косяки в условиях поставленной мной себе задаче. Проблема 1. Убирая из текста все не буквенно-цифровые символы из анализа выпадают слова с дефисами. Как пример:
Если в регулярку добавить дефис, то слово по нему и обрезается. Как пример:
А отсечённая часть считается за отдельное слово. Как пример:
Проблема 2. К тому же, я упустил регистрозависимость! Как пример:
Конечно можно перевести анализируемый текст к единому регистру, но КАПС — смотрится дико, а имена собственные в нижнем регистре не комильфо. Остаётся метод String.Equals и сортировать без учёта регистра. Но что будет записываться в item.Key? Первое вхождение слова или последнее?Что я хочу? Чтобы обычные слова отображались в нижнем регистре, а имена собственные, как и положено. В такой ситуации мне видится, что надо на этапе сортировки сравнивать вхождения слова и если все вхождения в разном регистре — преобразовывать в нижний. А, если все вхождения в одном регистре — оставлять как есть? Так вот! По первой проблеме — идей нет вообще. По второй — только идеи. За реализацию не принимался. Пока не знаю с какой стороны подбираться.
0
|
|
|
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
|
|||||||||||
| 05.12.2022, 17:54 | |||||||||||
|
Diamock, без долго гугления, замените регулярное выражение на
Diamock,
1
|
|||||||||||
|
20 / 20 / 5
Регистрация: 22.07.2015
Сообщений: 63
|
||||||
| 05.12.2022, 19:06 [ТС] | ||||||
|
116rus, спасибо — буду пробовать.
Добавлено через 56 минут В том, что код будет работать, даже не сомневался. Но есть некоторые вопросы по синтаксису регулярки. Рассмотрим фрагмент:
\b — в начале и в конце, определяют границы слова.Если исходить из MSDN, w+, соответствует одному или нескольким символам слова, а в скобках указываем (?:-\w+)?), что дефис (-) является частью слова и всё, что после него до пробела часть этого слова.Я правильно понял? Если нет — поясните или дайте ссылку где почитать. И ещё один момент. В этом фрагменте кода StringComparer.InvariantCultureIgnoreCase] — игнорируется регистр слова и написание слова происходит с учётом регистра первого вхождения.Есть ли возможность в процессе сортировки определить регистр вхождения слова? И если вхождение в двух регистрах — в item.Key писать в нижнем регистре.
0
|
||||||
|
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
|
|
| 05.12.2022, 19:08 | |
|
Diamock, ну, подумайте сами, я вам и так все практически сделал)
1
|
|
|
20 / 20 / 5
Регистрация: 22.07.2015
Сообщений: 63
|
|
| 05.12.2022, 19:11 [ТС] | |
|
116rus, спасибо!) Мысли есть. Если буду тупить — напишу.
А, про регулярку — я правильно понял?
0
|
|
|
0 / 0 / 0
Регистрация: 27.01.2023
Сообщений: 12
|
|
| 16.02.2023, 20:46 | |
|
Доброго времени суток всем. Продолжаю изучать C# по Герберту))
Ребята расскажите пожалуйста значение фраз "первого вхождения", "последнего вхождения". Даже загуглить правильно не могу. Что это вообще значит? Индекс, это номер символа, начиная отсчет с начала строки от 0 и далее. Первое вхождение, это индекс впервые найденного в строке искомого слова? Последнее вхождение, это индекс впервые найденного символа ведя поиск с конца строки?
0
|
|
|
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
|
|
| 16.02.2023, 20:49 | |
|
Oleg1302, строка представляет собой массив символов. Почитайте про массивы еще.
0
|
|
| 16.02.2023, 20:49 | |
|
Помогаю со студенческими работами здесь
15
Частотный анализ текста
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|