Счетчик слов в тексте

19.05.10

Задачи пользователя - Разное

Обработка подсчитывает частоту и долю каждого слова в тексте. Будет полезна при изучении иностранных языков.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Счетчик слов
.epf 9,38Kb
69 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Обработка создана для помощи при изучении английского языка. Дает возможность выбрать ключевые, наиболее часто употребляемые слова из любого текста.

Соответственно помогает определить, что учить в первую очередь.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Интеграция Разное Оптовая торговля Логистика, склад и ТМЦ 1С:УТ Россия Платные (руб)

«КИТУ Мастер» — это специализированное программное решение, которое позволяет вашему бизнесу быстро, точно и в полном соответствии с законодательством формировать, регистрировать и маркировать паллеты, короба и другие логистические единицы для системы обязательной маркировки «Честный ЗНАК». С помощью данного решения устраняется необходимость рутинной ручной работы через веб-интерфейс «Честного ЗНАКа» или сложных интеграций с 1С, предоставляя вам автономный, мощный и простой в использовании инструмент

1 стартмани

21.11.2025    1998    5    mstvster    4    

5

Разное Бесплатно (free)

Способы, как сэкономить при оплате ИИ-подписок.

18.06.2026    650    SergMuravev    10    

6

Разное Бесплатно (free)

На связи Сергей Скирдин, технический директор компании «Белый код». Мы занимаемся проектами в сфере управления данными: интеграции, хранилища, BI. Поэтому мне особенно интересно следить за тем, как развивается экосистема 1С в смежных для нас направлениях. В субботу посетил мероприятие для разработчиков и технических специалистов 1С. Хотелось послушать про «1С:Шину», «1С:КХД», «1С:Аналитику» и в целом понять, куда движется мир разработки и технологий 1С. Расскажу, что интересного для себя отметил. Технологии 1С:Предприятие: вопросы и размышления

15.04.2026    1311    sergey.skirdin    0    

5

Разное 1С 8.3 Абонемент ($m)

Внешняя обработка для объединения файлов изображений в единый PDF файл, работает на платформе 1С 8.3.21 и выше.

1 стартмани

24.03.2026    558    5    evg520750    0    

5

Разное 1С 8.3 Абонемент ($m)

Представляю демку "Infostart". Для тех, кто еще помнит на 8 битных компьютерах такое явление, как демосцена. Олды пустят ностальгическую слезу, молодежь офигеет. Такого на 1С вы точно еще не видели!

23.03.2026    1070    1    DmitryKSL    14    

11

Разное 1С 8.3 Бесплатно (free)

Советы для любой ситуации в любой конфигурации.

30.12.2025    3226    76    ixijixi    11    

21

Разное 1С 8.3 1С:Бухгалтерия 3.0 1С:Розница 3.0 Россия Абонемент ($m)

Дополнительная аутентификация с использованием биометрии.

29.12.2025    1459    0    kras_71    3    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kosilov 281 19.05.10 12:15 Сейчас в теме
Могу порекомендовать использовать следующую функцию для разбивки текста на слова.
По моим тестам этот подход оказался более быстрым, чем использование СтрЗаменить.
Функция split(СимволыРазделители, строка, лимит = неопределено) экспорт
	
НоваяСтрока = Строка;
МассивСлов = новый Массив;
ИщемНачало = истина;
ТекСлово = "";

Для НомерСимволаСтроки=1 по СтрДлина(Строка) цикл
	ТекСимвол =  Сред(Строка,НомерСимволаСтроки,1);
 	если Найти(СимволыРазделители, ТекСимвол)=0  тогда
		ТекСлово = ТекСлово + ТекСимвол;
		ИщемНачало = ложь;
		продолжить;
	иначеесли ИщемНачало тогда
		МассивСлов.Добавить("");
		если МассивСлов.Количество()=лимит тогда
			возврат МассивСлов;
		конецесли;
		продолжить;
	иначе
		МассивСлов.Добавить(ТекСлово);
		если МассивСлов.Количество()=лимит тогда
			возврат МассивСлов;
		конецесли;
		ТекСлово = "";
		ИщемНачало = истина;
	конецесли;
конеццикла;
если Не ИщемНачало тогда
	МассивСлов.Добавить(ТекСлово);
конецесли;
возврат МассивСлов;
конецфункции
Показать

YVolohov; +1 Ответить
2. YVolohov 726 19.05.10 12:32 Сейчас в теме
(1) Спасибо. Постараюсь сегодня же протестировать.
3. YVolohov 726 19.05.10 13:13 Сейчас в теме
(1) Протестировал. Функция показала хороший результат, но только для небольших строк. Для больших строк СтрЗаменить() все таки работает значительно быстрее.
4. kosilov 281 19.05.10 23:37 Сейчас в теме
(3) Странно, у меня как раз наоборот получалось. При больших текстах СтрЗаменить начинала тормозить. Может специфика реализации.
А если обрабатывать большие тексты блоками?
Т.е. в функцию разбивки передавать блок плюс остаток от предыдущего блока (если он был), функция разбивки будет возвращать массив (его лучше не возвращать а просто по ссылке с ним работать) + плюс начало слова, если последние символы не разделители.
Думаю так быстрее получиться.
5. kosilov 281 20.05.10 00:06 Сейчас в теме
(3) Я емею в виду так попробовать:
Процедура ПосчитатьСлова2()
	ДлинаБлока = 20; // Здесь надо искать оптимальное значение    
	НоваяСтрока = ЭлементыФормы.Текст.ПолучитьТекст(); 
	СимволыРазделители = ",.?!:;() " + Символ(34);
	// Создаем таблицу значений
	Слова = Новый ТаблицаЗначений;
	Слова.Колонки.Добавить("Слово");
	Слова.Колонки.Добавить("Частота");
	Слова.Колонки.Добавить("Доля");
	
	 
	ИщемНачало = истина; 
	ТекСлово = ""; 
	НачПозиция = 1;
	ДлинаСтроки = СтрДлина(НоваяСтрока);
	
	Пока  НачПозиция<=ДлинаСтроки цикл
		СтрокаОбработки = Сред(НоваяСтрока, НачПозиция, ДлинаБлока);
		    СтрДлина = СтрДлина(СтрокаОбработки);
		Для НомерСимволаСтроки=1 по СтрДлина цикл 
			ТекСимвол =  Сред(СтрокаОбработки,НомерСимволаСтроки,1); 
			если Найти(СимволыРазделители, ТекСимвол)=0  тогда 
				ТекСлово = ТекСлово + ТекСимвол; 
				ИщемНачало = ложь; 
				продолжить; 
			иначеесли ИщемНачало тогда 
				//МассивСлов.Добавить(""); 
				 
				продолжить; 
			иначе 
						НовСтрока = Слова.Добавить();
						НовСтрока.Слово = НРег(ТекСлово);
						НовСтрока.Частота = 1;
						НовСтрока.Доля = 0;
  				ТекСлово = ""; 
				ИщемНачало = истина; 
			конецесли; 
		конеццикла; 
		 
		НачПозиция = НачПозиция + ДлинаБлока;
	КонецЦикла;
	если Не ИщемНачало тогда 
		НовСтрока = Слова.Добавить();
		НовСтрока.Слово = НРег(ТекСлово);
		НовСтрока.Частота = 1;
		НовСтрока.Доля = 0;
 
	конецесли;
	Слова.Свернуть("Слово","Частота,Доля");
	Слова.Сортировать("Частота Убыв, Слово Возр");
	КоличествоСлов           = Слова.Итог("Частота");
	КоличествоУникальныхСлов = Слова.Количество();
	
	// Рассчет доли каждого слова в процентах
	Для Каждого СтрокаТаблицы Из Слова Цикл
		СтрокаТаблицы.Доля = Формат(СтрокаТаблицы.Частота/КоличествоСлов * 100, "ЧЦ=10; ЧДЦ=2");
	КонецЦикла;
	
	// Выводим результат
	ПечатьРезультата(Слова);
	ЭлементыФормы.Панель.ТекущаяСтраница = ЭлементыФормы.Панель.Страницы.Анализ;

КонецПроцедуры
Показать

6. alexk-is 6549 20.05.10 00:10 Сейчас в теме
Работу блоками при обработке больших текстов можно посмотреть здесь http://www.infostart.ru/public/19856/
7. ildarovich 8060 10.10.11 22:52 Сейчас в теме
В публикации Порождающий запрос в качестве примера решена задача разбивки текста на слова и определения частоты слов непосредственно в запросе.
Для отправки сообщения требуется регистрация/авторизация