Как посчитать количество одинаковых слов в тексте?

  • Автор темы Автор темы investman
  • Дата начала Дата начала

investman

Client
Регистрация
27.02.2016
Сообщения
167
Реакции
26
Баллы
28
Как посчитать количество одинаковых слов в тексте на сайте?
Выполнили экшен DOM, а что делать дальше?
 
если слово известно заранее - взять с ДОМ регуляркой, состоящей из этого слова, все совпадения в список. Получить длину списка.
А если слово неизвестно и нужно посчитать повторы всех слов и определить наиболее часто встречающиеся, причем с разными окончаниями?
Пример, сервис: https://advego.com/text/seo/

KzAhmpc.jpg


как это реализовать в zenno?
 
А если слово неизвестно и нужно посчитать повторы всех слов и определить наиболее часто встречающиеся, причем с разными окончаниями?
Пример, сервис: https://advego.com/text/seo/

KzAhmpc.jpg


как это реализовать в zenno?
взять взять переменную где текст страницы без тегов, перегнать весь текст нижний регистр, выпарсить все слова регуляркой в список, отсортировать список. Перебрать список увеличивая счётчик каждую итерацию сравнивая слово из прошлой строки с нынешней. Как только слова рознятся - записать если надо куда надо слово прошлое + счётчик его повторений, обнулить счётчик, сравнивать дальше
 
  • Оценить
Реакции: rosnordic и Sergodjan
Ага. Значит, если в моём случае таблица в 5000 строк и номера телефонов во многих строках повторяются, я беру столбец с телефонами в список длиной 5000 строк либо учитываю, что Зенка обрабатывает таблицы мгновенно и таблицы тоже можно сортировать.
Далее не изготавливаю второй список удалением дублей, а вникаю в то, что написано выше.
И получаю, сколько раз какой номер повторился.

взять взять переменную где текст страницы без тегов, перегнать весь текст нижний регистр, выпарсить все слова регуляркой в список, отсортировать список. Перебрать список увеличивая счётчик каждую итерацию сравнивая слово из прошлой строки с нынешней. Как только слова рознятся - записать если надо куда надо слово прошлое + счётчик его повторений, обнулить счётчик, сравнивать дальше
 
Последнее редактирование:
Код:
Развернуть Свернуть Копировать
var words = project.Lists["Words"]; //список с словами
var wordsCount = words.GroupBy(x => x).OrderByDescending(x => x.Count());
foreach(var w in wordsCount)
{
    project.SendInfoToLog(w.Key + " - " + w.Count().ToString());
}
 
  • Оценить
Реакции: zasranec и irving zisman
Код:
Развернуть Свернуть Копировать
var words = project.Lists["Words"]; //список с словами
var wordsCount = words.GroupBy(x => x).OrderByDescending(x => x.Count());
foreach(var w in wordsCount)
{
    project.SendInfoToLog(w.Key + " - " + w.Count().ToString());
}

Не подскажете как вывести результат?
 
Не подскажете как вывести результат?
В список Res
Код:
Развернуть Свернуть Копировать
var words = project.Lists["Words"]; //список с словами
var wordsCount = words.GroupBy(x => x).OrderByDescending(x => x.Count());
foreach(var w in wordsCount)
{
    project.Lists["Res"].Add(w.Key + " - " + w.Count().ToString());
}
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)