Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 20

Нужен скрипт для анализа текста и формирование статистики

17.03.2013, 00:19. Показов 2903. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа анализирует произвольный текст (строку) и формирует его статистику. В статистику входит: количество знаков (всех символов, исключая знаки препинания и пробелы), количество абзацев (непустая часть текста между двумя переводами строки), количество предложений (непустая часть текста между двумя точками), количество слов (часть текста между двумя пробелами или знаком препинания и пробелом, частота встречаемости букв (в виде буква - количество раз, сколько она встретилась)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.03.2013, 00:19
Ответы с готовыми решениями:

Нужен скрипт на закрытие исходящих ссылок статистики и соцсетей
Коллеги! Мне директор поставил задачу закрытия ряда исходящих ссылок с сайта, которые генерируются установленными на главной странице сайта...

Скрипт для статистики
Здравствуйте, при регистрации введу статистику за каждые сутки новых пользователей, работает не корректно, постоянно дата съезжает: $stat...

Скрипт для анализа файлов в папке
Приветствую! Друзья, подскажите, есть какой-нибудь апплет или функция для работы с файлами? Известен локальный или сетевой путь,...

14
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,907
17.03.2013, 00:50
Цитата Сообщение от Abbadonus Посмотреть сообщение
Нужен скрипт
Сразу вопрос - применительно к какому приложению?
0
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 20
17.03.2013, 00:54  [ТС]
скрипт должен считывать обычный текстовый файлик.
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
17.03.2013, 00:56
Цитата Сообщение от Abbadonus Посмотреть сообщение
обычный
какой размер макс.
0
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 20
17.03.2013, 22:09  [ТС]
Цитата Сообщение от gaw Посмотреть сообщение
какой размер макс.
размер текста или файлика?
если размер текста , то максимально возможный (любой)

Добавлено через 21 час 10 минут
Тварисчи очень нужна ваша помощь!!!!
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
18.03.2013, 07:31
Так?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Option Explicit
Option Compare Text
Const AlfaBet As String = "абвгдеёжзийклмнопрстухцчшщъыьэюя" & _
                          "abcdefghijklmnopqrstuvwxyz" & _
                          "1234567890"
Sub Command1_Click()
  Dim i As Integer, ff As Integer, s As String, sTmp As String, nLet As Integer
    ff = FreeFile
    Open App.Path & "\1.txt" For Input As #ff
            s = Input(LOF(ff), 1)
    Close #ff
    's = "йцукенгшщзхъфывапролджэ  ,,..1234567889ячсмитьбюё"
    Text1.Text = s
    sTmp = DelSymb(s)
    List1.AddItem "Слов всего - " & UBound(Split(sTmp)) + 1
    sTmp = Replace(sTmp, " ", "")
    List1.AddItem "Знаков всего - " & Len(sTmp)
    For i = 1 To Len(AlfaBet)
        nLet = UBound(Split(sTmp, Mid(AlfaBet, i, 1)))
        If nLet <> 0 Then List1.AddItem Mid(AlfaBet, i, 1) & "  -  " & nLet
    Next i
End Sub
 
Function DelSymb(ByVal s As String) As String
    Dim st As String, i As Integer
   
    For i = 1 To Len(s)
        If Mid(s, i, 1) Like "[0-9aA-zZаА-яЯёЁ ]" Then
             st = st & Mid(s, i, 1)
        Else
             st = st & " "
        End If
    Next i
    Do While InStr(1, st, "  ")
             st = Replace(st, "  ", " ")
    Loop
    DelSymb = st
End Function
Миниатюры
Нужен скрипт для анализа текста  и формирование статистики  
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
18.03.2013, 07:41
Цитата Сообщение от Abbadonus Посмотреть сообщение
(непустая часть текста между двумя переводами строки)
получается строка, но это ведь не абзац.
0
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 20
18.03.2013, 21:51  [ТС]
Да практически то что надо, вот только вопрос, а кол-во предложений можете сделать?
и еще при запуске ругается Ошибка Variable not Defined
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
19.03.2013, 22:28
Цитата Сообщение от Abbadonus Посмотреть сообщение
Variable not Defined
На форме - кнопка, листбокс и текстбокс (Cвойство Multiline = true, вертикальный скролл)

Предложения и абзацы тоже несложно сделать,только пока недосуг.
0
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 20
19.03.2013, 22:29  [ТС]
SoftIce, программка хорошая, но мне надо всетаки скрипт который из Excel можно запустить
если можно то в варианте того вбса сделать!
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
19.03.2013, 22:31
Да запросто! Только сегодня никак.
0
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 20
19.03.2013, 22:38  [ТС]
SoftIce, или подскажите как ее можно адаптировать к той вбс среде

Добавлено через 1 минуту
SoftIce, очень надо...просто горит(((( может подскажите как эо адаптировать или ресурс.. я бы сам попробывал
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
19.03.2013, 22:50
Закомментировал чтение из файла, надеюсь, сам разберёшься
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Option Explicit
Option Compare Text
Const AlfaBet As String = "абвгдеёжзийклмнопрстухцчшщъыьэюя" & _
                          "abcdefghijklmnopqrstuvwxyz" & _
                          "1234567890"
Sub TextStatistic()
  Dim i As Long, ff As Integer, s As String, sTmp As String, nLet As Long
    ff = FreeFile
    'Open App.Path & "\1.txt" For Input As #ff
           ' s = Input(LOF(ff), 1)
    'Close #ff
    s = InputBox("Введите текст", "Ввод данных", "йцукенгшщзхъфывапролджэ  ,,..1234567889ю. ячсмитьбюё")
    sTmp = DelSymb(s)
    Cells(1, 1).Value = "Букв     - " & Len(Replace(sTmp, " ", ""))
    Cells(2, 1).Value = "Слов     - " & UBound(Split(sTmp)) + 1
    Cells(3, 1).Value = "Предлож. - " & UBound(Split(LetAndDot(s), "."))
    Cells(4, 1).Value = "Абзацев  - " & Tbl(s)
    For i = 1 To Len(AlfaBet)
        nLet = UBound(Split(sTmp, Mid(AlfaBet, i, 1)))
        If nLet <> 0 Then Cells(4 + i, 1).Value = Mid(AlfaBet, i, 1) & "  -  " & nLet
    Next i
End Sub
 
Function DelSymb(ByVal s As String) As String
    Dim st As String, i As Long
    For i = 1 To Len(s)
        If Mid(s, i, 1) Like "[0-9aA-zZаА-яЯёЁ ]" Then
             st = st & Mid(s, i, 1)
        Else
             st = st & " "
        End If
    Next i
    Do While InStr(1, st, "  ")
             st = Replace(st, "  ", " ")
    Loop
    DelSymb = st
End Function
 
Function LetAndDot(ByVal s As String) As String
    Dim st As String, i As Long
    For i = 1 To Len(s)
        If Mid(s, i, 1) Like "[0-9aA-zZаА-яЯёЁ.?!]" Then
             st = st & Mid(s, i, 1)
        End If
    Next i
    st = Replace(Replace(st, "!", "."), "?", ".") 'тут немного коряво
    Do While InStr(1, st, "..")
             st = Replace(st, "..", ".")
    Loop
    LetAndDot = st
End Function
 
 
Function Tbl(ByVal s As String) As Integer
    Dim n As Integer, i As Long
    For i = 1 To Len(s)
        If Mid(s, i, 3) = vbCrLf & " " Then
             n = n + 1
        End If
    Next i
    Tbl = n + 1
End Function
1
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 20
19.03.2013, 22:54  [ТС]
Все работает просто отлично!!!! огромное спасибо!!!!
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
20.03.2013, 06:55
Лучший ответ Сообщение было отмечено как решение

Решение

Немного изменил одну процедуру, чтобы не было пустых строк и корректно отображались цифры(а то Excel приводил их к дате)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Option Explicit
Option Compare Text
Const AlfaBet As String = "абвгдеёжзийклмнопрстухцчшщъыьэюя" & _
                          "abcdefghijklmnopqrstuvwxyz" & _
                          "1234567890"
Sub TextStatistic()
  Dim i As Long, ff As Integer, s As String, sTmp As String, nLet As Long, nRow
    ff = FreeFile
    'Open App.Path & "\1.txt" For Input As #ff
           ' s = Input(LOF(ff), 1)
    'Close #ff
    s = InputBox("Введите текст", "Ввод данных", "йцукенгшщзхъфывапролджэ  ,,..1234567889ю. ячсмитьбюё")
    sTmp = DelSymb(s)
    Cells(1, 1).Value = "Букв     - " & Len(Replace(sTmp, " ", ""))
    Cells(2, 1).Value = "Слов     - " & UBound(Split(sTmp)) + 1
    Cells(3, 1).Value = "Предлож. - " & UBound(Split(LetAndDot(s), "."))
    Cells(4, 1).Value = "Абзацев  - " & Tbl(s)
    nRow = 4
    For i = 1 To Len(AlfaBet)
        nLet = UBound(Split(sTmp, Mid(AlfaBet, i, 1)))
        If nLet <> 0 Then nRow = nRow + 1: Cells(nRow, 1).Value = Mid(AlfaBet, i, 1) & "  --  " & nLet
    Next i
End Sub
 
Function DelSymb(ByVal s As String) As String
    Dim st As String, i As Long
    For i = 1 To Len(s)
        If Mid(s, i, 1) Like "[0-9aA-zZаА-яЯёЁ ]" Then
             st = st & Mid(s, i, 1)
        Else
             st = st & " "
        End If
    Next i
    Do While InStr(1, st, "  ")
             st = Replace(st, "  ", " ")
    Loop
    DelSymb = st
End Function
 
Function LetAndDot(ByVal s As String) As String
    Dim st As String, i As Long
    For i = 1 To Len(s)
        If Mid(s, i, 1) Like "[0-9aA-zZаА-яЯёЁ.?!]" Then
             st = st & Mid(s, i, 1)
        End If
    Next i
    st = Replace(Replace(st, "!", "."), "?", ".") 'тут немного коряво
    Do While InStr(1, st, "..")
             st = Replace(st, "..", ".")
    Loop
    LetAndDot = st
End Function
 
Function Tbl(ByVal s As String) As Integer
    Dim n As Integer, i As Long
    For i = 1 To Len(s)
        If Mid(s, i, 3) = vbCrLf & " " Then
             n = n + 1
        End If
    Next i
    Tbl = n + 1
End Function
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2013, 06:55
Помогаю со студенческими работами здесь

Приложение для статистики текста
Нужно придерживаясь такого мейна создать программу, вид которой заключен в комментарии. /* enter some text: HeLlo world stats...

Нужен платный интерфейс для подсчета статистики
ПОодскажите, есть ли общедоступный платный интерфейс (на подобие тех, которые используют большие сео конторы), который ДЛЯ ЗАКАЗЧИКА...

Нужен ли кому криптер для анализа?
Взловали сервер вин7про x64. Криптонули файлы. У пользователя через которого вошли в паке Download лежит этот самый exe Котором видимо и...

Perl скрипт для анализа готового файла журнала аудита
добрый день господа! прошу вашей помощи по следующему заданию - хочеться его и самому сделать но до этого с перл никогда дело не имел ...

Бинарное дерево для анализа текста
Здравствуйте! Помогите решить проблему. нет перехода между char и int. struct tnode { char*word; int count; struct...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru