Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2012, 23:10   #1
AnatolyF
 
Регистрация: 11.05.2012
Сообщений: 4
По умолчанию Обработка строк на VBA

Всем привет, кто может объяснить (или хотя бы подтолкнуть) решение данной задачи: В текстовом файле подсчитать количество предложений, состоящих более чем из пяти слов.
AnatolyF вне форума Ответить с цитированием
Старый 12.05.2012, 00:12   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

А по какой теме задача - по работе со строками или по регулярным выражениям?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 12.05.2012, 10:23   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
function CountMore5Words(t as string) as long
  dim c as long, s as string
  c = 0
  for each s in split(t, ".")
    if ubound(split(s)) > 5 then c = c + 1
  next
  CountMore5Words = c
end function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.05.2012, 11:41   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Предложение обязано заканчиваться точкой? Может и восклицательным знаком!
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 12.05.2012, 12:47   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

согласен))
Код:
function CountMore5Words(byval t as string) as long
  dim c as long, s as string
  c = 0: replace(t, "!", "."): replace(t, "?", ".")
  ...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.05.2012, 13:55   #6
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

За столом сидели: Иванов А.В., Петров В.Г., Сидоров А.К. Мужики пили пиво.
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 12.05.2012, 14:43   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

снова согласн.
пиво по 5.50 (5 грн. 50 коп) - еще одни данные, которые разделят одно предложение на два. общепринятые сокращения шт., т.е., и т.д и многое многое другое.

я даже не программно не берусь сказать есть ли в этом коротком рассказе
Цитата:
За столом сидели: Иванов А.В., Петров В.Г., Сидоров А.К. Мужики пили пиво.
хоть одно предложение длинной более 5 слов (вроде есть, но согласно предложенного мною алгоритма - нет).

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


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++] Обработка строк xNеo Помощь студентам 13 03.01.2012 16:26
Обработка строк (СИ) Pascaler Помощь студентам 2 01.06.2011 14:59
VBA: целочисленная арифметика, массивы, обработка строк kabum13 Помощь студентам 0 10.12.2010 16:32
Обработка строк Vad56 Помощь студентам 1 03.12.2009 23:26