|   |   | 
| 
 | v7: Количество слов в строке. | ☑ | ||
|---|---|---|---|---|
| 0
    
        susik_haram 17.11.14✎ 14:03 | 
        А можно ли посчитать кол-во слов в строке ??     | |||
| 1
    
        Мигало 17.11.14✎ 14:04 | 
        (0) я не возражаю     | |||
| 2
    
        sergey198 17.11.14✎ 14:04 | 
        нафига?     | |||
| 3
    
        susik_haram 17.11.14✎ 14:06 | 
        Цена должна ставиться за количество слов...     | |||
| 4
    
        butterbean 17.11.14✎ 14:07 | 
        (3) 1С:Издательство ??     | |||
| 5
    
        Мигало 17.11.14✎ 14:08 | 
        (3) Предлоги тарифицируются ?     | |||
| 6
    
        butterbean 17.11.14✎ 14:08 | 
        (0) убери двойные/тройные пробелы, посчитай пробелы +1     | |||
| 7
    
        Галахад гуру 17.11.14✎ 14:10 | 
        (6) Что делать с четверными/пятерными проблами?     | |||
| 8
    
        Мигало 17.11.14✎ 14:10 | 
        (7) Тоже убрать
 Пока | |||
| 9
    
        vcv 17.11.14✎ 14:11 | 
        Что считаем словом?
 "Петров-Водкин" одно слово или два? "100пудов" одно слово или два? "2*2=4" одно слово или несколько? Или совсем не слово? | |||
| 10
    
        Мигало 17.11.14✎ 14:11 | 
        Стр = "Фигня    фсякая"
 Пока Найти(Стр, " ") > 0 Цикл Стр = СтрЗаменить(Стр, " ", " "); КонецЦикла; | |||
| 11
    
        фобка 17.11.14✎ 14:12 | 
        (7) пока найти(Текст, "  ") >0 цикл
 Стрзамен | |||
| 12
    
        фобка 17.11.14✎ 14:13 | 
        (10) опередил     | |||
| 13
    
        dk 17.11.14✎ 14:17 | 
        если не заморачиваться с двойными пробелами см (10)
 то просто Текст = СтрЗаменить(Строка1, " ", разделительстрок) Количествослов = стрколичествостро(текст) | |||
| 14
    
        butterbean 17.11.14✎ 14:20 | 
        (13) есть прекрасная функция СтрЧислоВхождений(Стр," ")     | |||
| 15
    
        an-korot 17.11.14✎ 14:20 | 
        для издательства что-ли? ))) оплата за слова.     | |||
| 16
    
        18_plus 17.11.14✎ 14:26 | 
        а если после запятой пробела нет?     | |||
| 17
    
        vcv 17.11.14✎ 14:30 | 
        ТекстСтроки = СтрЗаменить(ТекстСтроки,""""," ");
 ТекстСтроки = СтрЗаменить(ТекстСтроки,","," "); ТекстСтроки = СтрЗаменить(ТекстСтроки,"."," "); ТекстСтроки = СтрЗаменить(ТекстСтроки,":"," "); ТекстСтроки = СтрЗаменить(ТекстСтроки,"-"," "); ТекстСтроки = СтрЗаменить(ТекстСтроки,"/"," "); ... еще куча каких надо ... Пока Найти(ТекстСтроки, " ") > 0 Цикл ТекстСтроки = СтрЗаменить(ТекстСтроки, " ", " "); КонецЦикла; Сообщить(СтрЧислоВхождений(ТекстСтроки," ")); | |||
| 18
    
        susik_haram 17.11.14✎ 14:30 | 
        Да, кста предлоги не учитываются....     | |||
| 19
    
        butterbean 17.11.14✎ 14:31 | 
        (18) ты специально ждал 18 постов чтоб это сказать??     | |||
| 20
    
        18_plus 17.11.14✎ 14:32 | 
        (19) супер. задача стала интереснее :)     | |||
| 21
    
        dk 17.11.14✎ 14:33 | 
        (18) см (17)
 ТекстСтроки = СтрЗаменить(ТекстСтроки," из "," "); ТекстСтроки = СтрЗаменить(ТекстСтроки," под "," "); ТекстСтроки = СтрЗаменить(ТекстСтроки," на "," "); ... | |||
| 22
    
        vcv 17.11.14✎ 14:34 | 
        (18) 
 Тогда добавить ТекстСтроки = " "+НРег(ТекстСтроки)+" "; ТекстСтроки = СтрЗаменить(ТекстСтроки," в "," "); ТекстСтроки = СтрЗаменить(ТекстСтроки," без "," "); ТекстСтроки = СтрЗаменить(ТекстСтроки," до "," "); ТекстСтроки = СтрЗаменить(ТекстСтроки," из "," "); ТекстСтроки = СтрЗаменить(ТекстСтроки," к "," "); ТекстСтроки = СтрЗаменить(ТекстСтроки," на "," "); и еще сотня-другая подобных строк :) :) :) | |||
| 23
    
        18_plus 17.11.14✎ 14:34 | 
        как учитывать весь этот зоопарк?
 http://ru.wiktionary.org/wiki/Категория:Русские_предлоги или не учитывать только В и НА ? | |||
| 24
    
        vcv 17.11.14✎ 14:35 | 
        (21) забыл перевести к нижнему регистру и добавить пробелы в конце и начале. А то фраза "Без пробела посчитает неправильно" неправильно посчитается.     | |||
| 25
    
        susik_haram 17.11.14✎ 14:36 | 
        спс, извиняюсь, что поздно отписал про предлоги, пришлось отойти от компа...     | |||
| 26
    
        vcv 17.11.14✎ 14:37 | 
        Если текст большой или его много и часто, быстрее будет резать строку на слова и проверять из на исключения. Чем бесконечные СтрЗаменить()     | |||
| 27
    
        18_plus 17.11.14✎ 14:37 | 
        нужно больше конкретики, иначе тут придётся ИИ писать.
 союзы считать за слова? междометия? | |||
| 28
    
        wertyu 17.11.14✎ 14:37 | 
        (21)(22) лучше словарь исключений, туда пихать всё, что не оплачивается, в т.ч. предлоги     | |||
| 29
    
        18_plus 17.11.14✎ 14:39 | 
        проще всего регэкспом заменить все небуквы на пробел и принять, что слова короче 4-х букв не оплачиваются.     | |||
| 30
    
        vcv 17.11.14✎ 14:39 | 
        (27) Самое главное, не считать неопределенный артикль "*ля".
 А то у некоторых писателей гонорар сразу в два раза вырастет. | |||
| 31
    
        butterbean 17.11.14✎ 14:39 | 
        (25) вот, думаю тебе хватит:
 Сч = 0; Стр = СтрЗаменить(Стр , " ", Символы.ПС); Для а = 1 по СтрЧислоСтрок(Стр) Цикл Если СтрДлина(СтрПолучитьСтроку(Стр,а)) > 2 Тогда Сч = Сч + 1; КонецЕсли; КонецЦикла; | |||
| 32
    
        vcv 17.11.14✎ 14:41 | 
        (29) 
 >> слова короче 4-х букв не оплачиваются С предлогами не всё так просто: ------------------------------------- Простые (состоят из одного слова): в, с, к, у, над, на, перед, при и другие сложные (состоят из двух простых, соединённых дефисом): из-под, из-за, по-над и другие составные (состоят из нескольких слов): несмотря на, в отличие от, в связи с и другие ------------------------------------- | |||
| 33
    
        18_plus 17.11.14✎ 14:42 | 
        (32) я в (23) это и имел в виду     | |||
| 34
    
        dk 17.11.14✎ 14:42 | 
        короче грузим все в ворд и смотрим там статистику ))     | |||
| 35
    
        18_plus 17.11.14✎ 14:51 | 
        беглый поиск по онлайн сервисам подсчёта слов показал, что предлоги учитываются преимущественно простые, и те, что через дефис. так что можно просто забить в код.     | |||
| 36
    
        varelchik 17.11.14✎ 15:36 | 
        (18) ну или создать СписокЗначений со всем что надо не учитывать.В цикле сделать СтрЗаменить()     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |