Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 06 2016 22:51:23
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

Основы программирования. Обработка текста.


Содержание курса

Просто работа со словарем...

Шаг 5. Операции с текстом (Часть 1) - работа со словарем.

Есть желание начать вас знакомить с приемами программной обработки текста. Сделать это за один шаг не получится, потому как приемов этих довольно много. Начнем с малого: займемся формированием словаря на основе слов, встречающихся тексте. Текст вводит пользователь с консоли. Подобные этому шаги, освещающие работу с текстовой информацией, не будут идти по порядку, дабы не создавать ощущения, что кроме текста и его обработки более ничего интересного и нет.

Описание алгоритма

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

Фрагмент кода

Приведенные фрагменты кода демонстрируют процесс разбиения текста на слова и формирование словаря.

C#:
 //Цикл по всем словам, выделенным из текста при помощи операции Split.
 //Операция Split использует набор символов - разделителей, передаваемых в виде массива символов.
 foreach (string _Word in _Text.Split(new char[] { ' ', ',', '.', '?', '!', '-', ';', ':' }, StringSplitOptions.RemoveEmptyEntries))
 {
     //Слова, состоящие из одних и тех же символов, но отличающихся регистром будем считать одинаковыми.
     //Для этого каждое слово перед добавлением в словарь переводим в нижний регистр.
     string _WordToLower = _Word.ToLower();
     //Если слова нет в словаре, то добавляем его туда.
     //Иначе увеличиваем счетчик на единицу.
     if (_Words.ContainsKey(_WordToLower))
         _Words[_WordToLower]++;
     else
         _Words.Add(_WordToLower, 1);
 }
VB.NET:
'Цикл по всем словам, выделенным из текста при помощи операции Split.
'Операция Split использует набор символов - разделителей, передаваемых в виде массива символов.
For Each _Word As String In _Text.Split(New char() {" "c, ","c, "."c, "?"c, "!"c,"-"c, ";"c, ":"c}, StringSplitOptions.RemoveEmptyEntries)
'Слова, состоящие из одних и тех же символов, но отличающихся регистром будем считать одинаковыми.
'Для этого каждое слово перед добавлением в словарь переводим в нижний регистр.
Dim _WordToLower As String = _Word.ToLower()
'Если слова нет в словаре, то добавляем его туда.
'Иначе увеличиваем счетчик на единицу.
     If (_Words.ContainsKey(_WordToLower)) Then
        _Words(_WordToLower) = _Words(_WordToLower) + 1
     Else
        _Words.Add(_WordToLower, 1)
     End If
 Next

Полные версии алгоритмов

На языке C#.
На языке VB.NET.

Резюме

На этот раз, помимо операции Split, вы познакомились еще с одним видом коллекции – словарем (Dictionary), который позволяет организовать хранение набора однотипных данных с возможностью быстрого их поиска по ключу. В нашем случае мы хранили не сами слова, а количество их вхождений в исходный текст. Слова, как раз, и играли роль тех самых ключей. В основе словарей лежит использование хеш-таблиц, про которые можно более подробно прочитать, пройдя по ссылке. Словари крайне удобны для организации хранения именованных ресурсов, доступ к которым по имени должен быть быстрым. Коллекция Dictionary является универсальной коллекцией, поскольку позволяет организовать хранение данных любого типа. Более подробно про универсальные типы в языках программирования .NET Framework можно прочитать здесь.

Далее: Пять классов математики.



Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.